【问题标题】:Jinja2 change variable inside a loopJinja2在循环内更改变量
【发布时间】:2018-01-12 07:48:45
【问题描述】:
{% set foo = 200 %}

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

{{foo}}

输出 100 200

我的循环之外的 foo 应该是 100 我该如何解决这个问题?

【问题讨论】:

    标签: python jinja2


    【解决方案1】:

    也尝试基于字典的方法。好像不那么丑了。

    {% 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)!
    

    【讨论】:

    • 如果你要逐字复制答案,至少要有linking to the original的体面
    • 我不是从 stackoverflow 获得的 - 它来自另一个站点。
    猜你喜欢
    • 2012-03-18
    • 2016-06-02
    • 2013-09-13
    • 1970-01-01
    • 2011-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-23
    相关资源
    最近更新 更多