【发布时间】:2017-01-13 19:11:44
【问题描述】:
在 Django 世界中,在settings.py 末尾导入一个本地环境设置覆盖文件似乎是比较正常的,类似于:
from settings_local.py import *
这有几个问题,对我来说最明显的是您无法检查或修改基本设置,只能覆盖它们 - 随着时间的推移会导致一些痛苦的重复和头痛。
相反,从本地文件导入 init 函数并注入 globals() 的输出以允许本地文件更智能地读取和修改设置有什么问题吗?
settings.py:
from settings_local.py import init
init( globals() )
settings_local.py:
def init( config ):
config['INSTALLED_APPS'].append( 'some.app' )
这似乎解决了与使用 import * 相关的一些问题,但我想知道这是否是一个坏主意,原因我还不知道。
【问题讨论】:
-
如果多个用户同时访问该资源会发生什么?
-
你的意思是像使用json file 来存储设置?..