Heroku上的Django应用程序:如何访问共享数据库

时间:2017-12-04 05:19:39

标签: django database heroku

在Heroku上,可以使用the following command在应用程序之间共享数据库:

$ heroku addons:attach <databaseName> -a <appName>

其中<databaseName>是共享数据库(属于另一个应用程序),它附加到应用程序<appName>(Django应用程序)。

我google了很长时间,但找不到任何描述如何访问应用程序中附加数据库的内容。我是否需要向Django的settings.py添加或修改内容以及什么?如何在Django的views.py中访问附加的数据库?

以下是Heroku数据库和数据库访问的设置只是通过ORM。

# Parse database configuration from $DATABASE_URL
import dj_database_url
DATABASES = {'default':dj_database_url.config()}
# Honor the 'X-Forwarded-Proto' header for request.is_secure()
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

感谢。

1 个答案:

答案 0 :(得分:1)

Heroku始终将配置详细信息作为环境变量提供。执行addons:attach时,它将打印为附加的附加组件创建的变量的名称;或者,您可以使用--as标志指定它。

heroku addons:attach <databaseName> -a <appName> --as MY_ATTACHED_DB_URL

现在您可以将该变量名称传递给config调用:

DATABASES = {
    'default':dj_database_url.config(),
    'course': dj_database_url.config('MY_ATTACHED_DB_URL')
}