jinja2 / flask更改变量值

时间:2017-09-16 20:19:14

标签: python flask jinja2

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

{% 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 %},但它没有用。

感谢您的帮助

1 个答案:

答案 0 :(得分:3)

我解决了我的问题!

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

所以我只是改变了我的代码:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="tnxst" type="hidden" id="tnx-status" value="publish" />
<span id="status-p"></span>