如何以模块化的方式为不同的环境配置 Django 设置?
How to configure Django settings for different environments in a modular way?
这个疑惑我已经在网上搜索过了,但是他们似乎并不真正适用于我的情况。
我有 3 个不同的配置文件 - Dev、Staging、Prod(当然)
我想正确地模块化设置而不重复。所以,我制作了 base_settings.py 并将其导入到 dev_settings.py、stg_settings.py 等
问题 - 如何以最少的更改正确调用每个环境中的脚本?
我现在正在做这个(以开发环境为例)-
python manage.py runserver --settings=core.dev_settings
到目前为止这有效,但我不相信这是一个多么好的解决方法。
因为 wsgi.py 和其他一些服务有 -
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings')
我希望在不更改其他服务的配置文件的情况下做一些事情。先谢谢大家了。
PS - 我已经尽量说清楚了,但如果有任何不清楚的地方,请原谅。
只需将环境变量中的 DJANGO_SETTINGS_MODULE
设置为您想要的配置文件。
这不会让您更改任何其他服务配置文件,您甚至不需要更改 django 设置文件。
看看 Django Configurations 包。
这个疑惑我已经在网上搜索过了,但是他们似乎并不真正适用于我的情况。
我有 3 个不同的配置文件 - Dev、Staging、Prod(当然)
我想正确地模块化设置而不重复。所以,我制作了 base_settings.py 并将其导入到 dev_settings.py、stg_settings.py 等
问题 - 如何以最少的更改正确调用每个环境中的脚本?
我现在正在做这个(以开发环境为例)-
python manage.py runserver --settings=core.dev_settings
到目前为止这有效,但我不相信这是一个多么好的解决方法。 因为 wsgi.py 和其他一些服务有 -
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'core.settings')
我希望在不更改其他服务的配置文件的情况下做一些事情。先谢谢大家了。
PS - 我已经尽量说清楚了,但如果有任何不清楚的地方,请原谅。
只需将环境变量中的 DJANGO_SETTINGS_MODULE
设置为您想要的配置文件。
这不会让您更改任何其他服务配置文件,您甚至不需要更改 django 设置文件。
看看 Django Configurations 包。