python基础之dynaconf配置参数,背景、示例、方法(根据环境动态配置参数)

python基础之ConfigParser配置参数,背景、示例、方法

https://cloud.tencent.com/developer/ask/sof/441150/answer/702689

dynaconf
  • 目录结构
    更新时间2024-12-03本人使用 dynaconf==3.2.5 3.2.6 版本时,发现文件夹不能命令settings 真tmd坑呀

    settings
    ├── __init__.py
    ├── constant.py
    ├── setting.py
    ├── .env
    ├── settings.development.toml
    └── settings.production.toml
    
  • setting.py

    import os
    from dynaconf import Dynaconf
    
    settings_dir = os.path.dirname(os.path.abspath(__file__))
    config = Dynaconf(
        env=os.environ.get("ENVIRONMENT") or "development",
        settings_files=[
            "settings.toml",      # 默认值
            ".secrets.toml",
            "settings.development.toml",        # 开发环境默认值
            "settings.development.local.toml",  # 本地开发环境
    		"settings.test.toml",               # 测试环境
            "settings.production.toml"          # 生产环境
        ],
        environments=True, # 是否使用多环境
    	load_dotenv=True,
    	dotenv_path=".env",   # 环境变量文件
    )
    
  • settings.setting.toml

    [default]
    port = 8080
    
  • settings.development.toml

    [development]
    DB_HOST='127.0.0.1'
    DB_PORT=6379
    DB_USER='document_dev'
    DB_PASSWD = "@format {env[DB_PASSWD]}"
    
    [development.host]
    domain='http://127.0.0.1'
    
  • settings.production.toml

    [production]
    DB_HOST='127.0.0.1'
    DB_PORT=6379
    DB_USER='document_prod'
    DB_PASSWD = "@format {env[DB_PASSWD]}"
    
    [production.host]
    domain='http://192.16.8.182'
    
  • .env 环境变量文件

    DB_PASSWD= '123456'
    
  • 如何引用

     db_host = config.DB_HOST 
     db_host = config.db_host
     domain = settings.host.domain
    
    print(settings.to_dict())
    
    ENVIRONMENT=production uvicorn main:app --reload
    ENVIRONMENT=dev uvicorn main:app --host 0.0.0.0 --port 8083 --reload
    
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

风华浪浪

讨个老婆本呗

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

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

打赏作者

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

抵扣说明:

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

余额充值