1、安装及初始化:
# 安装插件
pip install dynaconf
# 初始化配置文件:创建config文件夹,cd config
dynaconf init -f yaml
.secret.yaml配置私密信息,重要密码等可以放这儿,git忽略不用传递到库上去
2、针对不同环境开启不同配置(即配置文件分层)
(1)在config.py中开启分层功能environment=True,
import os
from dynaconf import Dynaconf
sys_env = os.environ.get('ENV_FOR_DYNACONF')
if sys_env:
env = sys_env
else:
env = 'DEFAULT'
config = Dynaconf(envvar_prefix="BOOKSTORE_WEB_CONF",
settings_files=['configs/settings.yaml'],
environments=True,
env=env) # env指定优先配置层,如果调用时本层没找到会去第一层找
(2)settings.yaml中列出具体分层,及名字:DEFAULT层为默认层,找不到的对象{VAR1是一个整体,以整个对象为单位查找}会来这里找,其它层都可以自定义:每次查找配置先去指定这一层找,找不到就去默认层找
DEFAULT:
NAME: 'DEFAULT'
VAR1:
KEY: 1
NAME: '测试'
VAR2:
KEY: 3
DEVELOPMENT:
NAME: 'DEVELOPMENT'
VAR1:
KEY: 2
PRODUCTION:
NAME: 'PRODUCTION'
注意:config.py中开启分层后,settings.yaml中必须有分层结构
3、服务器配置环境变量:~/.bashrc
#export ENV_FOR_DYNACONF=DEFAULT
export ENV_FOR_DYNACONF=DEVELOPMENT
添加配置然后更新系统变量,source ~/.bashrc