Je suis nouveau sur Jinja2 et l'utilise dans le cadre de Flask. J'ai deux déclarations ci-dessous. Celui avec "in" fonctionne. Celui avec "égal" ne l'est pas. La version égale obtient une erreur de syntaxe illustrée ci-dessous. Je suis curieux de savoir pourquoi, car la façon dont la version égale est écrite, pour moi au moins, est plus facile à lire.
{% if "SN" in P01["type"] %}
{% include 'sn.html' %}
{% endif %}
{% if P01["type"] equals "SN" %}
{% include 'sn.html' %}
{% endif %}
Le message d'erreur de jinja2.exceptions.TemplateSyntaxError
TemplateSyntaxError: jeton attendu "fin du bloc d'instructions", obtenu "égal"
Je vous remercie.
Dans Jinja2, vous utiliseriez ==
au lieu de equals
, par exemple:
{% if P01["type"] == "SN" %}
{% include 'sn.html' %}
{% endif %}
http://jinja.pocoo.org/docs/switching/#conditions
Je suis sûr que c'est ce que vous recherchez, mais vous devez noter que cela a une signification différente de "SN" in P01["type"]
, en utilisant in
est un test de sous-chaîne, donc par exemple "foo" in "foobar"
serait Vrai.