我尝试了几件事来让我的应用程序在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”导入它们。我到处都改变了。之前我遇到过这个错误,根据我在googled错误时读到的内容改变了目录结构。我还尝试将所有内容放在根目录中(以及requirements.txt和procfile)。我不知道为什么它一直在告诉我“apps.base”的ImportError,而我在任何地方使用“vielfaltif.apps.base”引用应用程序......?
有没有人有想法?如果需要,我会粘贴我的settings.py.现在我想它只需要很大的空间。
非常感谢您的帮助!
答案 0 :(得分:0)
我想它可以与import vielfaltig.apps.base
而不是apps.base
一起使用。如果您在vielfaltig
settings.py
插入到python系统路径,则可以修复此问题
import sys
sys.path.append('vielfaltig')