2015-10-06 65 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