Django settings配置文件

由来:为什么我在用django配置的时候导入的不是我项目名下的那个settings

但是我配置了之后依然能够起作用,这是为什么?

from django.conf import settings  # 入口
        
settings = LazySettings()  # 单例


from django.conf import global_settings class LazySettings(LazyObject):   def _setup(self, name=None):     settings_module = os.environ.get(ENVIRONMENT_VARIABLE) # 获取全局的键值对,在manage.py中启动时就已经设置了一个 self._wrapped = Settings(settings_module) class Settings(object):   def __init__(self, settings_module):     for setting in dir(global_settings): # 先获取系统默认配置里面的所有的变量名       if setting.isupper(): setattr(self, setting, getattr(global_settings, setting)) # 给settings对象设置键值对 self.SETTINGS_MODULE = settings_module mod = importlib.import_module(self.SETTINGS_MODULE) for setting in dir(mod):   if setting.isupper(): setting_value = getattr(mod, setting) setattr(self, setting, setting_value) # 给settings对象设置键值对
原文地址:https://www.cnblogs.com/ShenJunHui6/p/10742018.html