手写settings配置文件

-有两套配置文件,默认配置,用户的配置
-如果某个字段,用户配置了,就用用户的,如果没配置,就用默认的
 

启动—test.py

import os

os.environ.setdefault('user_setting', 'usersetting.setting')

from conf import settings

print(settings.DEBUG)

conf—__init__.py

import os
import importlib
from conf import globalsetting


class Setting:
    def __init__(self):
        user_setting = os.environ.get('user_setting')
        for setting in dir(globalsetting):
            if setting.isupper():
              setattr(self, setting, getattr(globalsetting, setting))

        mod = importlib.import_module(user_setting)

        for setting in dir(mod):
            if setting.isupper():
                setattr(self, setting, getattr(mod, setting))


settings = Setting()

猜你喜欢

转载自www.cnblogs.com/liweiwei0307/p/10138217.html