Ich habe eine sehr einfache Django-App, die ich auf Heroku bereitstellen möchte, aber es stürzt immer weiter ab. Alles funktioniert gut auf meinem lokalen Rechner, aber nicht auf HerokuModuleNotFoundError: Kein Modul namens 'models'
hier ist der Fehler Ich erhalte (Schnitt auf die relevanten Teile):
File "/app/hello/admin.py", line 4, in <module>
2017-07-10T20:12:27.482194+00:00 app[web.1]: import models
2017-07-10T20:12:27.482195+00:00 app[web.1]: ModuleNotFoundError: No module
named 'models'
Ich bin mit der Standard-Django Verzeichnisstruktur:
-python-getting-started
--hello
--- init Py
---admin.py (dies ist, wo der Fehler ist)
---models.py (dies ist die Datei, die ich zu importieren bin versucht)
---tests.py
---views.py
Es funktioniert auf meinem lokalen Rechner nur in Ordnung. Importiere ich es falsch? Ich weiß ehrlich gesagt nicht einmal, wo ich damit anfangen soll. Ich habe keine Probleme mit meinen anderen Django-Projekten, die auf Heroku gehostet werden, nur diese hier.
hier ist der relevante Teil der admin.py, der den Fehler zu werfen:
from django.contrib import admin
from django import forms
import models
# Register your models here.
class BasicInfoCollectionForm(forms.ModelForm):
class Meta():
model = models.VolunteerBasicInfo
fields = ('removed for brevity')
Jede Hilfe sehr
bearbeiten würde geschätzt: Ich habe erkannt, dass diese App Python v3 verwendet. 6 auf Heroku, während ich Dev mit Python 2.7 auf meinem lokalen Rechner gemacht habe.
Ich würde absolute Importe empfehlen, da py3 relative los ist. – Adam
Ja, das hat das Problem gelöst. Es stellt sich heraus, dass Heroku die Standardversion ihrer Django-App in Python 3 geändert hat und ich für dieses Projekt nicht bemerkt habe. Vielen Dank! – user1626536
@Adam Python 3 wird relative Importe entfernen, können Sie mir bitte einen Link des Beweises geben? –