Возможно, мне что-то не хватает, или это может быть неправильный способ размещения данных столбца.
Я хочу повторить второй уровень данных столбца.
Пример столба:
repo:
Option1:
version1:
display_name: "abcde"
version2:
display_name: "fghij"
Option2:
version1:
display_name: "klmn"`
Sls:
{% for version, versioninfo in salt['pillar.get']('repo', {}).iteritems() %}
{{ versioninfo[] }}{{ versioninfo[]['display_name'] }}
{% endfor %}`
Я хочу вернуть каждую версию и отображаемое имя, фактически игнорируя первый уровень данных столбца. Очевидно, что указанная выше jinja не работает, но есть ли способ сделать это?
Вам нужно два уровня итерации. .iteritems()
возвращает ключ и значения (элементы) для этого ключа. Ваша первая итерация предоставит вам доступ к названиям и версиям опций. Вторая итерация даст вам display_name.
{% for option, versions in salt['pillar.get']('repo', {}).iteritems() %}
{% for version, info in versions.iteritems() %}
{{ version }}:{{ info['display_name'] }}
{% endfor %}
{% endfor %}
ИЛИ вы можете сделать это:
{% for option, versions in salt['pillar.get']('repo', {}).iteritems() %}
{% for version in versions %}
{{ version }}:{{ versions[version]['display_name'] }}
{% endfor %}
{% endfor %}