2015-10-06 69 views
3

我正在尝试遍历Jinja2模板(在Ansible中)的字典。字典中的阵列或键之一是'abcd'变量内的Python(Jinja2)变量

{{ item.value.abcd.port }}工作正常,但关键'abcd'在每个词典中不同。

我正在寻找像下面这样使用变量'nginx_dir'。

{% set nginx_dir = item.value.keys().1 %} 
{% set my_port = item.value.nginx_dir.port %} 

使用或不使用变量可言,像这样

{{ item.value.[item.value.keys().1].port }} 

回答

6

我不得不使用其中任一使用变量中的一个变量。

{% set my_port = item.value.get(nginx_dir).port %} 
{% set my_port = item.value[nginx_dir].port %} 

我不想硬编码我的Jinja2模板,这正是我正在寻找的。

+0

请接受您自己的回答,以免继续显示为未答复。 – nitzmahone

+0

@MattDavis谢谢你的提醒。我现在已经做到了。我昨天也尝试过这样做,但必须等待24小时的几个小时才能完成。 – vikas027

+0

啊,我没有意识到他们加了一个延迟...... – nitzmahone