我不成功地让我的django应用程序部署在heroku上,使用本地postgres db。
我的数据库设置如下:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'mydb',
'USER': 'foo',
'PASSWORD': 'bar',
'HOST': 'localhost',
'PORT': '',
}
}当地一切都很好。按照https://devcenter.heroku.com/articles/django的说明,我在设置文件的底部添加了以下代码:
import dj_database_url
DATABASES = {'default': dj_database_url.config(default='postgres://foo:bar@localhost/mydb')}
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')但是,这会产生以下错误:
OperationalError at /未能连接到服务器:服务器是否在主机"localhost“(127.0.0.1)上运行,并在端口5432上接受TCP/IP连接?
我的django应用程序在Heroku上运行良好,除非它需要连接到数据库,这是它抛出此错误的地方。
有人知道我在这里做错了什么吗?
发布于 2013-07-22 00:45:11
数据库={
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'your db name',
'USER': 'your username',
'PASSWORD': 'password',
'HOST': 'Your computer's IP',
'PORT': '6122',
}或者,您必须将本地数据库克隆到heroku postgres,并更改设置以使用该数据库。
发布于 2013-07-22 07:39:29
简单地说,当前的配置将数据库主机定义为localhost,同时应该将其指向主机公共IP (或完全限定的域名)。
但这似乎是反模式。您确实应该使用Heroku的开发数据库来处理这些问题,如果您有任何本地数据想要导入,只需进行数据库转储并加载它。
https://stackoverflow.com/questions/17778422
复制相似问题