我有这个复杂的变量:
vars:
- data_sources:
- source1:
- attrA: foo1
- attrB: bar1
- source2:
- attrA: foo2
- attrB: bar2
我想用jinja2循环结构化变量 生成一些xml:
{% for d in {{data_sources}} %}
...
{% endfor %}
但是我在for循环的第一行得到error: expected token ':', got '}'", 'failed': True}
。知道为什么和解决方案?感谢
UPADTE 我对原始示例进行了一些更正。
答案 0 :(得分:4)
您不能在jinja指令中使用花括号,而只能在正文中使用:
{% for d in data_sources %}
{{ d['attrA'] }}
{% endfor %}
您的data_sources
也不是它的意思:
vars:
data_sources:
- source1:
attrA: foo1
attrB: bar1
- source2:
attrA: foo2
attrB: bar2