我有一个以dict为元素的列表。渲染失败了。有人可以在这帮忙。非常感谢。
{% for i in mylist if 'name' in i %}
{% set v = i['name'] %}
{% else %}
{% set v = 'notfound' %}
{% endfor %}
{% set mydict = { 'name' : v } %}

它总是报告v未定义。真的很混乱。
感谢您的帮助。
答案 0 :(得分:0)
背后的原因是jinja2范围。以下是解决问题的方法。
{% set vlist = [] %}
{% set mylist = [ {'name':'myvalue'} ] %}
{% for i in mylist if 'name' in i %}
{% do vlist.append(i['name']) %}
{% break %}
{% else %}
{% do vlist.append('notfoundinlist') %}
{% endfor %}