我想在本地环境中使用简单的 SQLite 数据库,并在生产中使用 Postgresql 数据库。如何配置设置文件以根据以下值了解要使用哪个数据库DEBUG
?
有多种选择:
-
下面是一个非常便宜的解决方案。 Django 始终选择名为“default”的数据库。您可以有条件地分配它settings.py
:
DATABASES = {
'dev': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
},
'production': {
'ENGINE': 'django.db.backends.postgresql',
# ...
},
}
DATABASES['default'] = DATABASES['dev' if DEBUG else 'production']
-
您可以实现一个名为的备用设置模块settings_dev.py
。在那里配置数据库并使用环境变量DJANGO_SETTINGS_MODULE https://docs.djangoproject.com/en/3.1/topics/settings/#envvar-DJANGO_SETTINGS_MODULE指向yourapp.settings_dev
.
-
实现自定义数据库路由器。对于许多用例来说,这几乎肯定是多余的。请参阅 Django 文档多数据库支持 https://docs.djangoproject.com/en/3.1/topics/db/multi-db/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)