我正在研究一个烧瓶项目。在Jinja模板中,for循环中存在问题。我想打印字典的第一个索引的第一个索引。
newlist
的输出是:
{1: [{'uid': 407, 'color': red},
{'uid': 407, 'color': black},
{'uid': 407, 'color': white}], 2:
[{'uid': 372, 'color': pink},
{'uid': 372, 'color': blue},
{'uid': 372, 'color': orange}], 3:
[{'uid': 28, 'color': green}]}
我想得到这样的输出:
{'uid': 407, 'color': red}
{'uid': 407, 'color': black}
{'uid': 407, 'color': white}
{'uid': 372, 'color': pink}
{'uid': 372, 'color': blue}
{'uid': 372, 'color': orange}
{'uid': 28, 'color': green}
如何编辑此for循环以达到该输出?在这里,我设置了两个索引手册( newlist.1.1 )
,如何正确增加索引号?
{% for each in newlist %}
{{ newlist.1.1 }}<br>
{% endfor %}
答案 0 :(得分:4)
只要像对待模板外的字典那样对待它,这就是Jinja模板的重点:
>>> newlist = {1: [{'uid': 407, 'color': 'red'}, {'uid': 407, 'color': 'black'}, {'uid': 407, 'color': 'white'}], 2: [{'uid': 372, 'color': 'pink'}, {'uid': 372, 'color': 'blue'}, {'uid': 372, 'color': 'orange'}], 3: [{'uid': 28, 'color': 'green'}]}
>>>
>>> for k in newlist :
for d in newlist[k]:
print(d)
{'uid': 407, 'color': 'red'}
{'uid': 407, 'color': 'black'}
{'uid': 407, 'color': 'white'}
{'uid': 372, 'color': 'pink'}
{'uid': 372, 'color': 'blue'}
{'uid': 372, 'color': 'orange'}
{'uid': 28, 'color': 'green'}
所以,在你的模板中:
{% for k in newlist %}
{% for d in newlist[k] %}
{{ d }}<\br>
{% endfor %}
<\br>
{% endfor %}