Я новичок с 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 %}
Сообщение об ошибке:
неустранимо: [testserver]: FAILED!=> {"change": false, "msg": "AnsibleUndefinedVariable: 'ansible.parsing.yaml.objects.AnsibleUnicode object' не имеет атрибута 'name'"}
Я думаю, может быть, лучшебыло бы создать цикл while для этого и распечатать все, но поскольку в Jinja2
нет цикла while, я немного запутался, как это сделать.
У кого-нибудь есть идеи, как этого добиться?Итак, еще раз цель состоит в том, чтобы напечатать все из словаря в файле Jinja2
.
Заранее спасибо