У меня есть следующий шаблон 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
никогда не устанавливается.
Как я могу установить "global" mybool
, чтобы я мог использовать его в последнем выражении if
?
ИЗМЕНИТЬ
Я нашел некоторые предложения (правильно просмотрены только кешированные страницы), но они, похоже, не работают. Возможно, они устарели в Jinja2...
ИЗМЕНИТЬ
Решение приведено ниже. Мне все еще интересно, почему вышеприведенные предложения не работают. Кто-нибудь знает наверняка, что они устарели?