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

时间:2015-01-11 03:53:29

标签: django heroku deployment

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

然后,我将项目设置为PyDev和Django(Blank Heroku App),然后从另一个标准Django项目复制以下所需文件,并对文件进行适当的更改:

PyDev | Set as PyDev Project, PyDev | Set as Django Project

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

当地的一切都很顺利。但是,在我成功将项目部署到Heroku之后,我收到了“应用程序错误”消息。

可能是什么问题?

另外,可能是我选择了manage.py Profile requirements.txt runtime.txt /<projectName> __init__.py settings.py urls.py wsgi.py 而Heroku不知道这是一个Django项目吗?

1 个答案:

答案 0 :(得分: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上运行South迁移可以使用run python manage.py migrate app_name)。

有关详情,请参阅此处 - https://devcenter.heroku.com/articles/getting-started-with-django