我正在構建一個Django應用程序,並且正在遷移到Heroku和Heroku Postgres。當我運行「python manage.py runserver」甚至是「heroku run python manage.py runserver」時,終端返回錯誤「Error:No module named filename」 - 文件名是位於我的主項目文件夾中的應用程序文件夾,其中包含我的models.py和views.py文件等。請參閱下面的文件結構。錯誤:沒有名爲[filename]的模塊
我有安裝應用程序中列出的應用程序文件夾,它顯示當我運行項目名稱的「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/
我一直在爲此而努力超過現在的日子,所以如何讓過去這將非常感謝任何幫助!
編輯:這裏是哪裏我在代碼中提到的文件名中的所有地方:
- 在admin.py爲「從projectname.filename.models導入*」
- 在項目名稱/ urls.py URL配置下爲包括(「filename.urls」,
「命名空間=文件名」) - 在文件名/ urls.py爲「從文件名進口*」和URL配置下爲「URL模式=模式(」 filename.views'。 ..)
- 在views.py as'from filename.models import *'
我在Venv中運行'heroku run python manage.py syncdb',它仍然返回錯誤「Error:No module named filename」。
你的代碼在哪裏做'import filename'?是否在'projectname'下的某處? – favoretti
@favoretti我在上面的問題中添加了一個編輯,其中我在我的代碼中導入了文件名。我不確定我是否已經在projectname下導入了文件名。我如何檢查我是否已經這樣做?我希望上面的編輯有幫助。 – Jess