Dynaconf:如何加载大量不同的配置

问题描述 投票:0回答:1

我尝试加载所有配置,但

dynaconf
只能看到来自
settings.toml

的数据

我有一个具有以下结构的项目

    .
├── my_project
│   ├── __init__.py
│   ├── config
│   │   ├── settings.toml
│   │   └── settings_upd.toml
│   ├── config.py
│   └── main.py
├── poetry.lock
├── pyproject.toml
├── requirements.in

config
目录包含所有配置,
config.py
使用以下代码加载所有配置

from dynaconf import Dynaconf

settings = Dynaconf(
    envvar_prefix="DYNACONF",
    settings_files=[
        './my_project/config/settings_upd.toml',
        './my_project/config/settings.toml'
    ],
)

settings_upd.toml

[default]
last_name = "Your Last Name"

settings.toml

[default]
name = "Your name"

所以当我用

poetry run python my_project/main.py

运行脚本时
from config import settings

print(settings.default)

我明白了

{'name': 'Your name'}

但是我没有从第一个配置中得到任何信息。

那么是否可以加载不同的配置并一次使用它们?

python configuration config
1个回答
0
投票

你需要包括

environments=True,

为了环境的支持。可以参考https://www.dynaconf.com/configuration/

`from dynaconf import Dynaconf

settings = Dynaconf(
envvar_prefix="MYPROGRAM",
settings_files=["settings.toml",".secrets.toml"],
environments=True,
load_dotenv=True,
env_switcher="MYPROGRAM_ENV",
**more_options
)`
© www.soinside.com 2019 - 2024. All rights reserved.