【问题标题】:Django ImportError on HerokuHeroku 上的 Django ImportError
【发布时间】:2013-07-07 18:02:30
【问题描述】:

我尝试了几种方法来让我的应用程序在 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。现在我认为它只会占用很多空间。

非常感谢您的帮助!

【问题讨论】:

    标签: django heroku


    【解决方案1】:

    我猜它可以与import vielfaltig.apps.base 一起使用,而不是apps.base。如果您在settings.py 中将路径vielfaltig 插入python 系统路径,则可以修复它

    import sys
    
    sys.path.append('vielfaltig')
    

    【讨论】:

    • 可以这样完成:import sys; sys.path.insert(0, 'vielfaltig')settings.py 中。
    • 谢谢,我认为我不需要这样做,因为我已经在我应用的所有文件中将所有导入更改为“import vielfaltig.apps.base”。此外,它在语言环境中运行良好。我仍然尝试了你的建议,但我没有工作......服务器甚至没有从那个改变开始。我认为问题出在其他地方,也许在翻译中?但我检查了我的翻译文件,路径似乎没问题...
    • 尝试python manage.py 不带任何标志,我认为它会抛出异常。如果确实如此,请将其写在您的问题中。
    猜你喜欢
    • 2016-10-01
    • 2017-09-11
    • 2013-04-07
    • 2020-11-03
    • 1970-01-01
    • 2022-07-13
    • 2016-11-22
    • 2012-08-07
    • 1970-01-01
    相关资源
    最近更新 更多