我尝试加载所有配置,但
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'}
但是我没有从第一个配置中得到任何信息。
那么是否可以加载不同的配置并一次使用它们?
你需要包括
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
)`