我正在构建一个 Django 应用程序,并且正在迁移到 Heroku 和 Heroku Postgres。当我运行“python manage.py runserver”甚至“heroku run python manage.py runserver”时,终端返回错误“错误:没有名为文件名的模块” - 文件名是位于我的主项目文件夹中的应用程序文件夹,其中包含我的models.py 和 views.py 文件等。请参阅下面的文件结构。
我的 INSTALLED APPS 中列出了 app 文件夹,当我为 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/
我已经为此苦苦挣扎了一天多,因此对于如何克服它的任何帮助将不胜感激!
编辑:这是我在代码中提到文件名的所有地方:
- 在 admin.py 中作为 'from projectname.filename.models import *'
- 在 URLconf 下的 projectname/urls.py 中作为 include('filename.urls',
'namespace=filename') - 在文件名/urls.py 中为 'from filename import *' 和在 URLconf 下为 'urlpatterns = patterns('filename.views' ...)
- 在views.py 中作为'from filename.models import *'
我也在 venv 中运行了“heroku run python manage.py syncdb”,但它仍然返回错误“错误:没有名为文件名的模块”。