将 Django 项目部署到 Heroku:应用程序错误

Deploying a Django project to Heroku: Application Error

我正在按照 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 后,我收到了 "Application Error" 消息。

可能是什么问题?

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

您的数据库必须在 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