gpt4 book ai didi

python - jinja2 - 遍历字典

转载 作者:行者123 更新时间:2023-12-02 03:20:26 27 4
gpt4 key购买 nike

我是 Jinja2 的新手,也许我的问题是新手,但我无法理解。

所以我将 Jinja2 用于 Ansible 任务作为创建文件的模板,我在默认变量文件中定义了一个字典,例如:

test123:
testA:
name: test1
number: 1
path: /tmp/test.txt
testB:
name: test2
number: 2
path: /tmp/test.txt

现在在我的 Jinja2 文件中,我想遍历这个字典并打印字典中定义的所有内容。

我尝试了各种示例,但没有一个是正确的。

例如:

{% for item in test123.values() -%}
{{ item.name }}="{{ item.number }}"
{%- endfor %}
{% for item in test123.testB.values() -%}
{{ item.name }}="{{ item.number }}"
{%- endfor %}

错误信息:

fatal: [testserver]: FAILED! => {"changed": false, "msg": "AnsibleUndefinedVariable: 'ansible.parsing.yaml.objects.AnsibleUnicode object' has no attribute 'name'"}

我认为也许最好的办法是为此创建一个 while 循环并打印出所有内容,但由于在 Jinja2 中没有 while 循环,我有点困惑如何去做。

有人知道如何实现吗?因此,目标再次是打印 Jinja2 文件中字典中的所有内容。

提前致谢

最佳答案

下面将创建一个包含所有用户名的输出

{% for item in test123.values() %}
name of the user: {{ item.name }}
{% endfor %}

输出格式:

name of the user: test1
name of the user: test2

如果您需要特定格式的内容,请告诉我所需的输出

关于python - jinja2 - 遍历字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54978823/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com