оператор 'if' в шаблоне jinja2

Я пытаюсь написать оператор if в шаблоне jinja

{% for key in data %}
{% if key is 'priority' %}
<p>('Priority: ' + str(data[key])</p>
{% endif %}
{% endfor %}

оператор, который я пытаюсь перевести на python, это

if key == priority:
    print(print('Priority: ' + str(data[key]))

Это ошибка, я получаю:

TemplateSyntaxError: ожидаемый токен 'name', получил 'string'

2 ответов


почему петля?

Вы можете просто сделать это:

{% if 'priority' in data %}
    <p>Priority: {{ data['priority'] }}</p>
{% endif %}

когда вы изначально делали сравнение строк, вы должны были использовать == вместо.


мы должны помнить, что {% endif %} после {% else %}.

пример:

{% if someTest %}
     <p> Something is True </p>
{% else %}
     <p> Something is False </p>
{% endif %}