【问题标题】:Deploying a Django project to Heroku: Application Error将 Django 项目部署到 Heroku:应用程序错误
【发布时间】:2015-01-11 03:53:28
【问题描述】:

我正在关注this 将一个 Django 项目部署到 Heroku 并尝试创建两个 git 遥控器。由于步骤中缺少django模板:File | New | Project | Heroku | Create Heroku App from Template,我选择了Blank Heroku App模板。

然后,我将项目设置为 PyDev 和 Django (PyDev | Set as PyDev Project, PyDev | Set as Django Project),然后从另一个标准 Django 项目中复制以下所需文件,并对包含的文件进行适当更改:

manage.py
Profile
requirements.txt
runtime.txt
/<projectName>
    __init__.py
    settings.py
    urls.py
    wsgi.py

最后一步是进行数据库迁移(Postgres)。

本地一切正常。但是,在我成功将项目部署到 Heroku 后,我收到了“应用程序错误”消息。

可能是什么问题?

另外,会不会是我选择了Blank Heroku App而Heroku不知道这是一个Django项目?

【问题讨论】:

  • 来自heroku logs的回溯最好调查一下……!
  • 是的,出了点问题:django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details. 我按照 Heroku 的步骤设置了DATABASES = {'default':dj_database_url.config()}SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')。我错过了什么?
  • 问题已解决:您需要手动配置 postgres 数据库 ($heroku addons:add heroku-postgresql)。

标签: django heroku deployment


【解决方案1】:

您的数据库必须在 Heroku 上创建。在 Git(或您的 Heroku 客户端)中运行此命令-

$heroku addons:add heroku-postgresql

这会在 Heroku 上创建一个空的 PostGRES 数据库。

接下来,您在已部署站点上的设置必须反映数据库。作为 heroku_toolbelt python 模块一部分的 dj_database_url 将自动查询 Heroku 以获取实时数据库设置。对您的 Django 站点进行这些更改(cling 模块也是 Heroku Toolbelt 的一部分)。

settings.py

import dj_database_url
DATABASES['default'] =  dj_database_url.config()

wsgi.py

from django.core.wsgi import get_wsgi_application
from dj_static import Cling

application = Cling(get_wsgi_application())

最后,您必须将 Django 模型实际同步到数据库(在 Heroku 上配置一个数据库,并且您的 Django 项目设置指向该数据库)。这也是通过 Git 完成的——

heroku run python manage.py syncdb

事实上,任何 Django 终端命令都可以在这个问题上运行(例如,在 Heroku DB 上运行南迁移可以使用 run python manage.py migrate app_name 完成)。

欲了解更多信息,请阅读此处 - https://devcenter.heroku.com/articles/getting-started-with-django

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-22
    • 2020-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-05
    • 2016-11-16
    相关资源
    最近更新 更多