Jinja2 if 语句中多个 if not + OR 的正确语法

Correct syntax for multiple if not + OR in Jinja2 if statement

如果我的 asnitem.asn 不是我给的值,我想做 X。

我认为可行的方法:

{%- if not asnitem.asn == 45102 or if not asnitem.asn == 24429 or if not asnitem.asn == 132203 %}

但这只是给我一个语法错误。 所以我也尝试了:

{%- (if not asnitem.asn == 45102) or (if not asnitem.asn == 24429) or (if not asnitem.asn == 132203) %}

但这也行不通。所以我目前很困惑如何在 Jinja2 if 语句中执行 multiple or's。感谢所有给出答案的人。 另外,如果有更好的方法来做这样的事情,请告诉我。也许是这样的?:

{%- if not asnitem.asn == 45102 || 24429 || 132203 %}

在这种情况下,in 逻辑运算符应该可以帮助您。试试这个示例:

{%- if not asnitem.asn in [45102, 24429, 132203] %}

in 运算符检查 left-hand 值 (asnitem.asn) 在 right-hand[=22] 中是否存在=]列表([45102, 24429, 132203])。 not 反转检查结果。