Django的配置通常都是写在settings.py中,但是修改settings配置文件之后必须要重启服务才能生效,这不能做到动态更改。而且settings.py中存储着许多重要而且敏感度极高的配置项,不能随便修改。
所以需要一个配置文件来存储安全性要求低的配置,例如邮件服务相关的
每次处理服务需求的时候,都会动态去读取配置
也可以配置前端页面去动态修改配置
from configparser import ConfigParser
conf = ConfigParser()
conf.read('配置文件的路径')
# 配置文件格式
#
# [section名字]
# 属性名 = 属性值
#
# section名字相当于一个分类,一个集合
# 获取配置项
value = conf.get('section名字', '属性名') # 返回字符串类型
value = conf.getint('section名字', '属性名') # 返回整型
value = conf.getboolean('section名字', '属性名') # 返回布尔型
# 获取一个集合所有键值对
# 返回一个列表, [('属性名1', '属性值1'), ('属性名2', '属性值2')]
items = conf.items('section名字')
# 获取一个集合的所有键名,返回一个列表
option = conf.option('section名字')
# 获取配置文件所有集合,返回一个列表
sections = conf.sections()
# 设置属性值,传入不存在的属性将会重新创建
conf.set('section名字', '属性名', '属性值')
# 配置文件写入
with open('配置文件路径', 'w') as f:
conf.write(f)