如何配置Django在本地使用Heroku Dev Postgre?

3 投票
1 回答
1274 浏览
提问于 2025-04-17 15:23

我正在尝试配置一个本地开发环境,使用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 也可以按照同样的步骤操作。

撰写回答