Jinja2在循环中更改变量

时间:2017-08-04 11:28:32

标签: python jinja2

{% set foo = 200 %}

 {% for item in items %}
   {% set foo = 100 %}
   {{ foo  }}
 {% endfor %}

{{foo}}

输出 100 200

我的Loop之外的foo应为100 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

尝试基于字典的方法。它似乎不那么难看。

{% set vars = {'foo': False} %}

{% for item in items %}   {% if vars.update({'foo': True}) %} {% endif %}   
{% if vars.foo %} Ok(1)! {% endif %} {% endfor %}

{% if vars.foo %} Ok(2)! {% endif %}

这也呈现:

Ok(1)!
Ok(2)!