Python 在字典jinja中访问字典
我有一个叫做数据的字典列表。 对于数据中的每个_存档,我要访问每个_存档['key1']['key2'] 第一个键是常数:单位,但第二个键取决于循环 我已经尝试过:{{archive['units'][{{{item['param']}}}]}Python 在字典jinja中访问字典,python,html,jinja2,Python,Html,Jinja2,我有一个叫做数据的字典列表。 对于数据中的每个_存档,我要访问每个_存档['key1']['key2'] 第一个键是常数:单位,但第二个键取决于循环 我已经尝试过:{{archive['units'][{{{item['param']}}}]} 其中item['param']item是循环中的另一个迭代器,item['param']是第二个键。请参见下面的格式!该结构将非常类似于在Python中循环使用字典的方式,但是对于您不想显示的每个语句,使用jinja{%},并围绕每个要显示的表达式使用{
其中item['param']item是循环中的另一个迭代器,item['param']是第二个键。请参见下面的格式!该结构将非常类似于在Python中循环使用字典的方式,但是对于您不想显示的每个语句,使用jinja{%},并围绕每个要显示的表达式使用{{} 取自
据我所知,您有一个包含一些嵌套字典的列表;如果是这种情况,并且您的数据如下所示:
data = [{'foo': {'bar1': 'buzz1', 'bar2': 'buzz2'}}, {'foo': {'bar3': 'buzz3', 'bar4': 'buzz4'}}]
如果您使用此Jinja2:
{% for every_archive in data %}
{% for key1, archive1 in every_archive.items() %}
{% for key2, value2 in archive1.items() %}
<p>{{ key1 }} - {{ key2 }} - {{ value2 }}</p>
{% endfor %}
{% endfor %}
{% endfor %}
此外,您将从中获得相同的输出
<p>{{ key1 }} - {{ key2 }} - {{ archive1[key2] }}</p>
是的,这很好,但我的key2不是字符串,是item['param']的值。我不确定,我理解您的数据结构。你能提供一个例子吗?所以我在HTML中收到变量数据,其中包含一个字典项,我还收到一个字典项的详细信息。然后我有{%for elem in data['item']%}{{details['units'][elem['param']]}。问题是elem['param']在for中,我需要使用它作为详细信息的第二个键。
{% for every_archive in data %}
{% for key1, archive1 in every_archive.items() %}
{% for key2, value2 in archive1.items() %}
<p>{{ key1 }} - {{ key2 }} - {{ value2 }}</p>
{% endfor %}
{% endfor %}
{% endfor %}
foo - bar1 - buzz1
foo - bar2 - buzz2
foo - bar3 - buzz3
foo - bar4 - buzz4
<p>{{ key1 }} - {{ key2 }} - {{ archive1[key2] }}</p>