如何以模块化方式为不同环境配置Django设置?

时间:2016-10-11 15:42:59

标签: python django wsgi django-settings

我已经在网上搜索过这个疑问,但它们似乎并不适用于我的案例。

我有3个不同的配置文件 - Dev,Staging,Prod(当然)

我想在不重复的情况下正确地模块化设置。所以,我已经创建了base_settings.py,我将它导入dev_settings.py,stg_settings.py等。

问题 - 如何以最少的更改正确调用每个env上的脚本?

现在,我正在这样做(以dev env为例) -

python manage.py runserver --settings = core.dev_settings

到目前为止这是有效的,但我不相信这有多好的解决方法。 因为wsgi.py和其他一些服务有 -

os.environ.setdefault('DJANGO_SETTINGS_MODULE','core.settings')

我希望在不更改其他服务的配置文件的情况下执行某些操作。提前谢谢大家。

PS - 我试图尽可能清楚,但请原谅我,如果有什么不清楚的话。

2 个答案:

答案 0 :(得分:1)

只需将环境变量中的DJANGO_SETTINGS_MODULE设置为所需的配置文件即可。

这不会让您更改任何其他服务配置文件,您甚至不需要更改django设置文件。

答案 1 :(得分:0)

查看Django Configurations包。