Django 模板三元运算符

我想知道是否有三倍的运营商 /健康)状况 ? true-value: false-value/, 可以在模板中使用 Django. 我看到有 python /true-value if condition else false-value/, 但我不确定如何在模板内使用它 Django 显示 html, 指定其中一个值。 有任何想法吗?
已邀请:

涵秋

赞同来自:

您可以使用过滤器 yesno:


{{ value|yesno:"yeah,no,maybe" }}


你可以了解更多
https://docs.djangoproject.com ... yesno

小明明

赞同来自:

为什么您在模板内需要一个三元运算符?
{% if %}


{% else %}

- 这就是你所需要的。

或者你可以尝试标记
firstof

:


{% firstof var1 var2 var3 %}


它显示第一个 var1, var2 或者 var3, 这是计算为真正的含义。

董宝中

赞同来自:

仅仅因为他们尚未提及这里:内置模板标签
default


default_if_none

在简单的情况下可以有用:

默认

如果值相等 False, 使用默认指定的值。 否则,使用该值。

例如:


{{ value|default:"nothing" }}


如果值相等 "" /空线/, 输出将是空的。

default_if_none

如果一个 /只有if./ 意思是相等的 None, 使用默认指定的值。 否则,使用该值>。

请注意,如果指定了空字符串,则不会使用默认值。 使用 > 默认过滤器如果要为空行保留。

例如:


{{ value|default_if_none:"nothing" }}


如果值相等 None, 然后输出将是一个字符串 "nothing".

https://docs.djangoproject.com ... fault

帅驴

赞同来自:

你不。 Templatetag Django
{% if %}

刚开始维护
==

,
and

等等。
{% if cond %}{% else %}{% endif %}

如此紧凑,尽可能紧凑。

龙天

赞同来自:

我刚刚实施了一个三元运营商 Django 作为标签,看
https://github.com/alexei/djan ... sions
您可以使用它作为:


{% ?: exp1 exp2 exp3 %}
{% ?: exp1 exp2 %}


或者:


{% iif exp1 exp2 exp3 %}
{% iif exp1 exp2 %}


我意识到它比过滤有更多的意义
yesno

, 虽然事实上他不是那么笨拙。

风见雨下

赞同来自:

我想知道它是否会起作用 python 和 / 还是伎俩?


condition and true_value or false_value


表现得像三元运营商 - 退出 true_value, 如果条件等于 True, 和 false_value, 如果不。

要回复问题请先登录注册