HLH*_*HLH 2 python django postgresql heroku
我已将 Postgres 数据库添加到我的 Heroku 应用程序中,并尝试将我的 Django 应用程序连接到它。但是,我的应用程序始终连接到本地 Postgres 数据库。
设置.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'app_db',
'USER': 'admin',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': '',
}
}
db_from_env = dj_database_url.config(conn_max_age=500)
DATABASES['default'].update(db_from_env)
Run Code Online (Sandbox Code Playgroud)
我已将 .env 文件中的“DATABASE_URL”设置为 Heroku 应用程序上 Postgres 数据库的 url,但它似乎没有更新数据库。如何强制我的应用程序连接到 Heroku 数据库而不是本地数据库?
您可以将设置设置为在开发时从本地数据库读取并在生产中使用 Heroku 数据库。首先,您可能已经知道,您需要dj_database_url.
您可以创建一个名为 的单独设置文件local_settings.py,并在其中包含您的常规数据库配置(例如默认的 Django 数据库配置)。在你的settings.py:
DATABASES = {
'default': dj_database_url.config()
}
Run Code Online (Sandbox Code Playgroud)
在你的底部settings.py:
# Tries to import local settings, if on dev,
# import everything in local_Settings, which overrides the dj_database_url
# If on deploy, local_settings won't be found so just ignore the ImportError
try:
from .local_settings import *
except ImportError:
pass
Run Code Online (Sandbox Code Playgroud)
所以你local_settings.py应该在你的开发服务器中,而不是在 Heroku 应用程序中(你可以忽略它,将其添加到 .gitignore)。我希望这是可以理解的。
| 归档时间: |
|
| 查看次数: |
4298 次 |
| 最近记录: |