Jinja2 if statement in vs equals на дикт

Я новичок в Jinja2 и использую его как часть колбы. У меня есть два заявления ниже. С "В" работает. Тот, у кого "равные" - нет. Версия equals получает синтаксическую ошибку, показанную ниже. Мне любопытно, почему, по крайней мере, мне легче читать, как написана версия equals.

{% if "SN" in P01["type"] %}
  {% include 'sn.html' %}
{% endif %}

{% if P01["type"] equals "SN" %}
  {% include 'sn.html' %}
{% endif %}

сообщение об ошибках от jinja2.исключения.TemplateSyntaxError

TemplateSyntaxError: ожидаемый токен "конец блока оператора", получен "равно"

спасибо.

1 ответов


в Jinja2 вы бы использовали == вместо equals, например:

{% if P01["type"] == "SN" %}
  {% include 'sn.html' %}
{% endif %}

http://jinja.pocoo.org/docs/switching/#conditions

Я уверен, что это то, что вы ищете, но вы должны отметить, что это имеет другое значение, чем "SN" in P01["type"], используя in тест подстроки, например "foo" in "foobar" было бы правдой.