访问列表列表中的元素

时间:2017-10-20 17:28:44

标签: python ansible jinja2 ansible-2.x

我最近开始使用python / YAML和JINJA(没有软件经验),因为我想使用Ansible自动完成一些任务。

YAML表示是这样的,据我所知,这是一个包含2个其他列表的列表,其中包含一些值。

YAML FILE

VARIABLE_NAME:
  - LIST_1.1:
    - VALUE1
    - VALUE2

  - LIST_1.2: 
    - VALUE3
    - VALUE4

如果我的理解是正确的,则代表以下内容:

VARIABLE_NAME=[LIST1.1[VALUE1, VALUE2],LIST1.2[VALUE3, VALUE4]]

在JINJA模板上,我想循环并获取LIST 1 VALUES用于第一个语句和第二个语句的list2值。像这样:

JINJA TEMPLATE

{%for values in List1.List_1.1%}
Statement1 {values}
{% endfor%}

{%for values in List1.List_1.2%}
Statement2 {values}
{% endfor%}

在这个JINJA模板中访问YAML中的值的正确语法是什么?此外,还有更好的方法吗? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

您可以在模板中尝试这个:

$model->time_start = $my_date->format('Y-m-d H:i:s'); 

会给你这个结果:

{%for values in LIST1['LIST_1.1']%}
Statement1 {{values}}
{% endfor%}

{%for values in LIST1['LIST_1.2']%}
Statement2 {{values}}
{% endfor%}

希望这对你有所帮助。