Django apps on Heroku:如何访问共享数据库

t3psigkw  于 2023-10-19  发布在  Go
关注(0)|答案(1)|浏览(144)

在Heroku上,可以使用以下命令在应用程序之间共享数据库:

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

其中<databaseName>是共享数据库(属于另一个应用程序),它附加到应用程序<appName>(Django应用程序)。
我在谷歌上搜索了很长一段时间,但找不到任何描述如何访问应用程序中附加的数据库的内容。我需要添加或修改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')

谢谢.

aiazj4mn

aiazj4mn1#

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')
}

相关问题