首页 > 解决方案 > Jinja2 if 语句中多个 if not + OR 的正确语法

问题描述

如果我的 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 语句中做多个或。感谢所有给出答案的人。另外,如果有更好的方法来做这样的事情,请告诉我。也许是这样的?:

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

标签: if-statementjinja2statements

解决方案


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

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

in此处的运算符检查右侧列表 ( ) 中左侧值 ( asnitem.asn) 的存在。并反转检查结果。[45102, 24429, 132203]not


推荐阅读