【发布时间】:2012-09-14 06:58:43
【问题描述】:
我正在 python/django 模板中寻找简短的条件语句,这样我就可以少写多用。类似 (tkey in disabled_rows) ? “禁用行”:“”。
这就是我正在做的事情:
{% if tkey in disabled_rows %}
<tr class="disabled-row">
{% else %}
<tr>
{% endif %}
我也尝试了自定义模板标签,但没有成功:
{{ (tkey in disabled_rows)|xif:'true,false' }}
xif 实现:
def xif(cond, args):
if cond:
return args.split(',')[0]
else:
return args.split(',')[1]
如果你能解释为什么这不是在 python 中本地实现的,加分。
【问题讨论】:
-
您的自定义过滤器复制了内置的
yesno过滤器:docs.djangoproject.com/en/1.4/ref/templates/builtins/#yesno -
上面的链接已经失效了,如果有人需要,这里是更新的链接:docs.djangoproject.com/en/2.2/ref/templates/builtins/#yesno
标签: python django django-templates