如何实现Django settings配置功能

  首先研究Django的settings有何功能,1 提供了两个settings配置模块,一个是系统默认配置模块global_settings.py;和提供给用户自定义设置的settings模块settings.py。Django在这里为两种配置方案设计了一个优先级,自定义设置高与系统默认配置,

也就是说,只要用户在settings.py中配置了某项参数,就以用户配置的参数为准,如果用户没有设置,则以系统默认配置为准。
       代码中的提现:from django.conf import settings   在这里导入的settings对象即具备settings.py中的属性,也具备global_settings.py中的属性。直白的说就是settings对象通过点方法可以点出两个不同模块的属性,而且还具备优先级,settings.py的优先级高与global_settings.py。
   代码实现

class Settings:
    def __init__(self):

        for kay in dir(global_settings):
            if kay.isupper():
                value = getattr(global_settings, kay)
                setattr(self, kay, value)
        for kay in dir(custom_settings):
            if kay.isupper():
                value = getattr(custom_settings, kay)
                setattr(self, kay, value)

settings = Settings()
原文地址:https://www.cnblogs.com/guanchao/p/11396479.html