0

我尝试了几件事来让我的应用程序在 heroku 上运行,但现在我没有想法了。我可以在 heroku 的代表上安装我的项目,但我收到 500 错误代码。在我按照 django 的 heroku 文档中描述的步骤之后,我的应用程序在我的机器上使用 virtualenv 运行良好。

当我执行“git push heroku master”并在浏览器中尝试时,出现以下错误:

2013-07-07T15:39:11.170514+00:00 app[web.1]: ImportError: No module named apps.base
2013-07-07T15:39:11.170059+00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/django/utils/dateformat.py", line 35, in format
2013-07-07T15:39:11.170202+00:00 app[web.1]:     app = import_module(appname)
2013-07-07T15:39:11.170202+00:00 app[web.1]:     default_translation = _fetch(settings.LANGUAGE_CODE)
2013-07-07T15:39:11.170202+00:00 app[web.1]:     _default = translation(settings.LANGUAGE_CODE)

我认为这是由 Heroku 不支持的目录结构引起的,所以我从使用 django startproject 命令创建的默认目录结构中对其进行了调整。

这是我的新文件结构。我到处调整了导入参考,正如我所说,我在本地工作得很好:

manage.py
Procfile
requirements.txt
vielfaltig
|____apps
| |____base
| | |____models.py
| | |____templates
| | |____tests.py
| | |____urls.py
| | |____views.py
| |____projects
| | |____admin.py
| | |____models.py
| | |____templates
| | |____templatetags
| | |____tests.py
| | |____translation.py
| | |____urls.py
| | |____views.py
|____locale
|____media
|____settings.py
|____static
|____urls.py
|____vielfaltig.db
|____wsgi.py

如您所见,我有 2 个应用程序(基础和项目)。例如,在代码中,我使用“vielfaltig.apps.base”导入它们。我到处都改变了这个。我之前遇到过这个错误,我根据我在谷歌搜索错误时所读到的内容更改了目录结构。我还尝试将所有内容都放在根目录中(以及 requirements.txt 和 procfile)。我不知道为什么它一直告诉我“apps.base”的 ImportError,而我在任何地方都使用“vielfaltif.apps.base”引用应用程序......?

有人有想法吗?如果需要,我将粘贴我的 settings.py。现在我认为它只会占用很多空间。

非常感谢您的帮助!

4

1 回答 1

0

我想它会使用import vielfaltig.apps.base而不是apps.base. 如果您vielfaltig在您的settings.py

import sys

sys.path.append('vielfaltig')
于 2013-07-07T23:04:58.340 回答