gpt4 book ai didi

django - 从 django settings.py 包含 local_settings.py 时如何修改 DATABASES 变量

转载 作者:行者123 更新时间:2023-12-02 02:26:48 25 4
gpt4 key购买 nike

在 settings.py 的顶部我有:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'dbname',
'USER': 'dbuser',
'PASSWORD': 'pw'
'HOST': '',
'PORT': '',
}
}

在底部我有:

try:
from local_settings import *
except ImportError:
pass

在 local_settings.py 中,我想修改在 settings.py 文件中定义的 DATABASES['default']['host']。

这可能吗?如果是这样,如何?我不想复制整个 DATABASES 设置,我只想调整 HOST(指向另一台服务器)。

最佳答案

在您的 settings.py 中使用它。

try:
from local_settings import *
for k,v in _DATABASES:
if k in DATABASES:
DATABASES[k].update(v)
else:
DATABASES[k] = v
except ImportError:
pass

在您的 local_settings.py 中使用类似的内容。

_DATABASES = {"default":{"HOST":"new_host"}}

编辑:请注意,我已根据@saverio 关于嵌套字典的评论更改了我的代码。

关于django - 从 django settings.py 包含 local_settings.py 时如何修改 DATABASES 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5601668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com