如何在python项目中写出像Django中一样功能的settings

Posted zhaijihai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在python项目中写出像Django中一样功能的settings相关的知识,希望对你有一定的参考价值。

一  核心文件目录结构

 

二  实现代码

resdme:
  在实现此功能主要用到的知识点及模块:
  1.反射
  3.内置方法dir
# 全局配置
NAME = \'root\'
# 用户配置
NAME = \'personal\'
from lib.conf import global_settings  # 全局默认配置
from config import setting  # 用户个人配置

class Settings():
    \'\'\'
    需要注意的是:
        1.在初始化的时候要将全局的配资放在个人的前面
        2.因为如果使个人的配置的权限高于全局的配置是需要将个人的放在全局的后面将其覆盖
    \'\'\'
    def __init__(self):
        # 默认全局的配置
        self.setSttr(global_settings)
        # 个人的配置
        try:
            self.setSttr(setting)
        except Exception as e:
            print(\'您要的配置信息不存在\')

    def setSttr(self, conf):
        for key in dir(conf):
            if key.isupper():
                v = getattr(conf, key)
                setattr(self, key, v)
settings
= Settings()

在setting中取值:

from config import setting
name = setting.NAME
print(name)

# 显示结果
\'\'\'
personal
\'\'\'

 

以上是关于如何在python项目中写出像Django中一样功能的settings的主要内容,如果未能解决你的问题,请参考以下文章

我可以让一些代码像守护进程一样在 Django 中不断运行吗

如何像在 Django admin 中一样从模型自动创建视图?

如何在Django1.6结合Python3.4版本中使用MySql

及时冻结 django 模型对象,就像快照一样

团队协作中,如何写出让同事赞不绝口的代码

Django 视图:如何显示字典中的数据