我最近開始使用YAML和jinja2。我無法理解爲什麼我需要在jinja2模板中引用我的YAML映射的整個結構。訪問與jinja2的嵌套YAML映射
我有以下YAML文件
---
PROVIDERS:
PROV1:
int: ge-0/1/1
ipv4: 10.0.1.1/30
PROV2:
int: ge-0/1/2
ipv4: 10.0.1.2/30
,這是我的Jinja2模板
{%- for provider in PROVIDERS %}
{{ provider }}
{{ PROVIDERS[provider].int }} <-- why not provider.int
{{ PROVIDERS[provider].ipv4 }} <-- why not provider.ipv4
{%- endfor %}
與pyyaml解析給我的(預期)輸出
PROV2
ge-0/1/2
10.0.1.2/30
PROV1
ge-0/1/1
10.0.1.1/30
但是爲什麼一定要我用PROVIDERS[provider].int
? provider.int
不起作用。
此外,我在想,如果我能做出這樣的映射,而不是一個嵌套映射列表:
---
PROVIDERS:
- PROV1:
int: ge-0/1/1
ipv4: 10.0.1.1/30
- PROV2:
int: ge-0/1/2
ipv4: 10.0.1.2/30
我已經試過這樣做,但Jinja2的模板不再生產所需的輸出。