zoukankan      html  css  js  c++  java
  • settings源码

    自定义settings配置

    创建python项目

    settings.py

    NAME = '我是暴露给用户的自定义配置'
    

    __init__.py

    import os
    import importlib
    
    from lib.conf import global_settings
    
    
    class Settings(object):
        def __init__(self):
            #先for循环获取全局配置文件中所有 的变量名
            for name in dir(global_settings):
                #判断是否是大写
                if name.isupper():
                    setattr(self,name,getattr(global_settings,name))
            #从全局的大字典中先拿到暴露给用户的配置文件,字符串路径
            path = os.environ.get('xxx') #path = 'conf.settings'
            #利用importlib模块导入settings模块
            module = importlib.import_module(path)
            '''
            
            from conf import settings
            module就是settings模块名
            '''
    
            #再for循环暴露给用户的文件中所有的变量名
            for name in dir(module):
                if name.isupper():
                    k = name
                    v = getattr(module,name)
                    setattr(self,k,v)
    
    settings = Settings()

    global_settings.py

    NAME = '我是项目默认的配置'
    

    start.py

    import os
    import sys
    
    BASE_DIR = os.path.dirname(__file__)
    sys.path.append(BASE_DIR)
    
    
    
    if __name__ == '__main__':
    
        #在项目的全局设置一个大字典
        os.environ.setdefault('xxx','conf.settings')
    
    
        from lib.conf import settings
        print(settings.NAME)
    

      

      

  • 相关阅读:
    POI2014 洛谷P3574 FarmCraft 题解
    JZOJ 3468 OSU!题解
    sublime配置C++编译环境
    本地配置gitee
    数论基础
    HDU
    HDU-3033 I love sneakers! 题解
    HDU-4341 Gold miner 题解
    HDU
    MyBatis框架及原理分析
  • 原文地址:https://www.cnblogs.com/huangxuanya/p/11544586.html
Copyright © 2011-2022 走看看