我该如何设置DATABASE_URL?

Jam*_*her 10 python django postgresql heroku

我正在研究我的第一个Heroku/Django应用程序.我只是想确保我设置我的DATABASE_URLDATABASES正确的变量.这是我的代码中的内容:

import dj_database_url

DATABASE_URL = 'postgresql:///my_app'

# Parse database configuration from $DATABASE_URL
DATABASES = {
    'default': dj_database_url.config(default=DATABASE_URL)
}
Run Code Online (Sandbox Code Playgroud)

当我刚刚DATABASES['default'] = dj_database_url.config()和我尝试使用Django命令时run server,migrate我得到以下错误:NameError: name 'DATABASES' is not defined.我设置了DATABASE_URL因为这样做似乎解决了这个问题(在我创建my_app数据库之后).

在编码和测试时,一切似乎都运行良好,但我也看到了六种在互联网上设置数据库变量的不同方法.如果这不正确,我现在想解决它.让我感到困惑的是,当我将我的应用程序推送到Heroku时,当数据库是/ usr/local/var/postgres时,数据如何被推送到网络?或者这根本不会发生?我此时太困惑/累了吗?

moo*_*uck 11

这是在Heroku Devecenter记录的

# Parse database configuration from $DATABASE_URL
import dj_database_url
# DATABASES['default'] =  dj_database_url.config()
#updated
DATABASES = {'default': dj_database_url.config(default='postgres://user:pass@localhost/dbname')}
Run Code Online (Sandbox Code Playgroud)

如果需要数据库连接池,也可以添加这些位.更多细节

# Enable Connection Pooling
DATABASES['default']['ENGINE'] = 'django_postgrespool'
Run Code Online (Sandbox Code Playgroud)