如何配置Django在本地使用Heroku Dev Postgre?
我正在尝试配置一个本地开发环境,使用Heroku、Django和virtualenv。把代码推送到Heroku托管后,一切似乎都正常,但在本地我却无法连接到Heroku提供的开发用Postgre数据库。
根据说明,我在settings.py文件中添加了以下内容:
import dj_database_url
DATABASES['default'] = dj_database_url.config()
但是在本地运行时,这些设置似乎没有生效。我遇到了以下错误:
django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details.
从本地的Django实例连接到Heroku托管的开发用Postgre数据库是否可能?如果可以的话,我缺少了什么呢?
谢谢!
1 个回答
3
这其实很简单...
dj_database_url.config() 这个函数需要一个叫做 default 的参数。在 Heroku 上,你可以在这里找到数据库信息:https://postgres.heroku.com/databases/
如果你的数据库信息和凭证是这样的:
主机 somehost.amazonaws.com
数据库 somedb
用户 foo
端口 5432
密码 bar
那么在 settings.py 文件中的设置应该像这样:
import dj_database_url
DATABASES['default'] = dj_database_url.config(default='postgres://foo:bar@somehost.amazonaws.com:5432/somedb')
如果你在本地使用 PostgreSQL 也可以按照同样的步骤操作。