Python(Jinja2)变量里面的变量

vik*_*027 4 python variables jinja2 ansible

我试图在Jinja2模板中迭代一个字典(在Ansible中).字典中的一个数组或键是'abcd'

这样{{ item.value.abcd.port }}可以正常工作,但每个字典中的关键字"abcd"各不相同.

我希望使用变量'nginx_dir'来执行类似下面的操作.

{% set nginx_dir = item.value.keys().1 %}
{% set my_port = item.value.nginx_dir.port %}
Run Code Online (Sandbox Code Playgroud)

或者根本不使用变量,类似这样的东西

{{ item.value.[item.value.keys().1].port }}
Run Code Online (Sandbox Code Playgroud)

vik*_*027 8

我不得不使用其中任何一个来在变量中使用变量.

{% set my_port = item.value.get(nginx_dir).port %}
{% set my_port = item.value[nginx_dir].port %}
Run Code Online (Sandbox Code Playgroud)

我不想硬编码我的Jinja2模板,这正是我想要的.