python django或条件

python django或条件,python,django,Python,Django,我有以下代码: {{ object.subtotal }} 如果object.subtotal为空或为假,我想打印0: 我试过这样做: {{ object.subtotal or 0 }} 但我有一个服务器错误500您可以使用过滤器: 您可以使用过滤器: 据我所知,您可以不将此类运算符用作Django模板“变量”。但要替换无,可以使用模板过滤器: {{ object.subtotal|default_if_none:0 }} {{object.subtotal}默认值(如果没有:0}} 因此

我有以下代码:

{{ object.subtotal }}
如果
object.subtotal
为空或为假,我想打印0:

我试过这样做:

{{ object.subtotal or 0 }}
但我有一个服务器错误500

您可以使用过滤器:

您可以使用过滤器:


据我所知,您可以不将此类运算符用作Django模板“变量”。但要替换
,可以使用模板过滤器:

{{ object.subtotal|default_if_none:0 }}
{{object.subtotal}默认值(如果没有:0}}
因此,这只会在
小计
的情况下被“触发”(不是另一个具有truthyness
False
的表达式,因此这在语义上与Python
稍有不同,后者在第一个表达式具有truthyness
False
的情况下计算为第二个表达式)


此外,这可能更好地在模型级别实现,而不是在模板级别实现。模板用于确定应该如何呈现,而不是应该呈现什么(语义)。

据我所知,您可以不将此类运算符用作Django模板“变量”。但要替换
,可以使用模板过滤器:

{{ object.subtotal|default_if_none:0 }}
{{object.subtotal}默认值(如果没有:0}}
因此,这只会在
小计
的情况下被“触发”(不是另一个具有truthyness
False
的表达式,因此这在语义上与Python
稍有不同,后者在第一个表达式具有truthyness
False
的情况下计算为第二个表达式)

此外,这可能更好地在模型级别实现,而不是在模板级别实现。模板用于确定应该如何呈现某些内容,而不是应该呈现什么(语义)