将 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
我正在按照 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