5

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

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

感谢您的时间和回答,我将感谢您的帮助,因为这是非常非常紧急的!

4

3 回答 3

13

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

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

并且可能将 DATABASE_URL 存储在您的 virtualenv 激活脚本中。

于 2012-06-03T10:56:50.843 回答
0

可能对 setting.py 中的参数有帮助

DATABASES = {
    "default": dj_database_url.config(
        default="postgres://postgres:saleor@localhost:5432/saleor", conn_max_age=600
    )
}

默认字符串中的“数据库 url”具有值 postgresql://[user[:password]@][netloc][:port][/dbname][?param1=value1&...]

于 2021-09-14T18:55:15.603 回答
0

使用 pip 模块 dj-database-url。添加一个名为“DATABASE_URL”的环境变量和来自 heroku db 设置的值。

重要的是,为了避免错误“NameError: name 'DATABASES' is not defined。” 例如,您仍然必须保留默认的 DATABSE 设置。

完整代码:

import dj_database_url

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': 'mydatabase',
    }
}
DATABASES['default'] = dj_database_url.config()
于 2020-11-19T08:45:00.197 回答