У меня есть шаблон Jinja2, в котором переменная, которая разрешается как логическое значение False, игнорируется в операторе {% if %}
.
Соответствующий фрагмент шаблона выглядит как
{% if user.can_manage_techniques %}j
{% block submenu_items %}
<li class="pure-menu-item"><a href={{ url_for('new_technique') }} class="pure-menu-link">New Technique</a></li>
{% endblock %}
{% endif %}
Пользователь установлен в шаблоне рендеринга как
return render_template('technique_list.j2',
techniques=Technique.find_all(),
**state())
с состоянием, являющимся функцией, которая возвращает dict [string, object].
Пользователь, который ему передается, задается в __init__
объекта как переменная - так:
def __init__(self):
self.can_manage_techniques = False
Даже если can_manage_techniques
равно false, элемент списка по-прежнему отображается. Как мне заставить {% if %}
осознать, что это ложь, и перейти к {% endif %}
?
Я также пробовал == true
и sameas true