django动态配置插件dynaconf

本文介绍了如何在Django项目中使用dynaconf进行动态配置管理。首先,通过安装并初始化.dynaconf配置文件,特别是隐藏敏感信息如密码。接着,详细讲解了如何根据不同的环境设置分层配置,确保在各个环境中正确读取配置。最后,讨论了如何在服务器上通过~/.bashrc文件设置和更新环境变量,以确保应用能够正确获取配置信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hmk1900

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值