我正在构建一个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