【问题标题】:jinja2/flask change variable valuejinja2/flask 改变变量值
【发布时间】:2017-09-17 04:49:22
【问题描述】:

我正在尝试在循环中更改变量的值,这样我可以只为第一次迭代做一些事情,然后为所有下一次迭代做其他事情。

{% set vars = {'foo': True} %}
{% for line in project[2].split('[newline]') %}
 {% if vars.foo %}
  its true!
 {% else %}
  its false!
 {% endif %}
{% vars.update({'foo': False}) %}
{% endfor %}

输出看起来像'它是真的!这是真的!这是真的!它是真的!',所以 Jinja 绝对没有得到变量已被更改的事实。

我也尝试将{% vars.update({'foo': False}) %} 换成{% vars.foo == False %},但没有成功。

感谢您的帮助

【问题讨论】:

    标签: python flask jinja2


    【解决方案1】:

    我解决了我的问题!

    不需要使用变量,Jinja2有一个计算循环中迭代次数的东西。

    所以我只是像这样更改了我的代码:

      {% for line in project[2].split('[newline]') %}
        {% if loop.index == 1 %}
          its true!
        {% else %}
          its false!
        {% endif %}
      {% endfor %}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-18
      • 1970-01-01
      • 2017-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-03
      • 2018-01-12
      相关资源
      最近更新 更多