我正在关注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项目吗?
答案 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