私は Django アプリを構築しており、Heroku と Heroku Postgres に移行中です。「python manage.py runserver」または「heroku run python manage.py runserver」を実行すると、ターミナルは「エラー:ファイル名という名前のモジュールがありません」というエラーを返します-ファイル名は、私のメインプロジェクトフォルダー内にあるアプリフォルダーです。 models.py および views.py ファイルなど。以下のファイル構造を参照してください。
INSTALLED APPS にアプリ フォルダーがリストされていて、projectname に対して "ls" を実行すると表示されるので、見つからない理由がわかりません。
startapp を使用して新しいアプリを開始し、古いアプリのコンテンツを移動して、それが異常かどうかを確認しました。これは、Heroku を機能させようとしてから発生したようです。
このプロジェクトのファイル構造は次のとおりです。
projectname/
manage.py
requirements.txt
Procfile
projectname/
templates/
__init__.py
settings.py
urls.py
wsgi.py
filename/
__init__.py
admin.py
models.py
tests.py
urls.py
views.py
static/
venv/
私はこれに1日以上苦労しているので、それを乗り越える方法についての助けをいただければ幸いです!
編集:コードでファイル名に言及したすべての場所は次のとおりです。
- admin.py で「from projectname.filename.models import *」として
- projectname/urls.py で URLconf の下に include('filename.urls',
'namespace=filename')として - filename/urls.py では 'from filename import *' として、URLconf では 'urlpatterns = patterns('filename.views' ...) として
- views.py で「from filename.models import *」として
venv でも「heroku run python manage.py syncdb」を実行しましたが、「エラー: ファイル名という名前のモジュールがありません」というエラーが返されます。