我有以下 Jinja 模板:
{% set mybool = False %}
{% for thing in things %}
<div class='indent1'>
<ul>
{% if current_user %}
{% if current_user.username == thing['created_by']['username'] %}
{% set mybool = True %}
<li>mybool: {{ mybool }}</li> <!-- prints True -->
<li><a href='#'>Edit</a></li>
{% endif %}
{% endif %}
<li>Flag</li>
</ul>
</div>
<hr />
{% endfor %}
{% if not mybool %}
<!-- always prints this -->
<p>mybool is false!</p>
{% else %}
<p>mybool is true!</p>
{% endif %}
如果在for
循环中满足条件,我想更改mybool
为 true 以便我可以mybool is true!
在下面显示。但是,看起来内部的范围mybool
仅限于if
语句,因此永远不会设置期望。 mybool
如何设置“全局”mybool
以便在最后一条if
语句中使用它?
编辑
我找到了一些建议(只有正确的缓存页面视图),但它们似乎不起作用。也许它们在 Jinja2 中已被弃用...
编辑
下面提供的解决方案。我仍然很好奇为什么上面的建议不起作用。有谁知道他们被弃用了?