私は非常に単純なDjangoアプリをherokuにデプロイしようとしていますが、クラッシュし続けます。ローカルマシンではすべて正常に動作しますが、herokuでは動作しません
ここに私が得ているエラーがあります(関連する部分にカットされています):
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'
私はデフォルトのDjangoディレクトリ構造を使用しています:
-python-getting-started
- こんにちは
---init。py
---admin.py(ここにエラーがあります)
---models.py(これはインポートしようとしているファイルです)
---tests.py
---views.py
私のローカルマシンでは問題なく動作します。間違ってインポートしていますか?正直なところ、これからどこから始めればよいのかさえわかりません。 Herokuでホストされている他のDjangoプロジェクトは問題ありません。これだけです。
エラーをスローしているadmin.pyの関連部分は次のとおりです。
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')
どんな助けでも大歓迎です
編集:私はこのアプリがherokuでpython v3.6を使用していることを認識しましたが、ローカルマシンでpython 2.7でdevを実行しています。
相対インポートを使用する必要があります
from . import models
または、視覚的にDjango.db.models
と衝突しないため、使用するモデルをインポートすることをお勧めします。
from Django import forms
from .models import VolunteerBasicInfo
class BasicInfoCollectionForm(forms.ModelForm):
class Meta:
model = VolunteerBasicInfo
...
また、class Meta
で角かっこを使用する必要はありません。