如何在使用python与heroku中的postgresql连接时使用dj-database-url

时间:2012-06-03 05:05:20

标签: python postgresql heroku

我在这里是因为我真的很喜欢heroku-python-django-postgresql组。我已经搜索了dj-database-url的用法,我不明白为什么在开发需要与postgresql连接的python应用程序时必须使用它。我已经添加了postgresql(dev版本)作为我的应用程序的附加组件,但我不知道如何告诉应用程序我希望它使用我的数据库。

所以,简短的问题是,如何向dj-database-url表明我想使用我的数据库?

感谢您的时间和答案,我将非常感谢您的帮助,因为这非常迫切!

2 个答案:

答案 0 :(得分:12)

dj-database-url是一个实用程序,可帮助您从DATABASE_URL环境变量将数据库加载到字典中。 Heroku为您的数据库和其他插件使用环境变量。要开始使用您的数据库,您只需使用以下命令设置DATABASES字典:

import dj_database_url
DATABASES['default'] = dj_database_url.config()

也许在你的virtualenv激活脚本中隐藏DATABASE_URL。

答案 1 :(得分:0)

使用pip模块dj-dtabase-url。添加一个名称为“ DATABASE_URL”的环境变量,并从heroku db设置中添加该变量。

重要,为了避免错误“ NameError:未定义名称'DATABASES”。 例如,您仍然必须保留默认的DATABSE设置。

完整代码:

import dj_database_url

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': 'mydatabase',
    }
}
DATABASES['default'] = dj_database_url.config()