Django - 模板中多个if的更好方法

时间:2014-04-03 20:27:52

标签: django if-statement django-templates refactoring django-template-filters

我有模板和变量s1s2s3

<input type="text" value="{% if s1 %}{{s1}}{% endif %}{% if s2 %}{{s2}}{% endif %}{% if s3 %}{{s3}}{% endif %}" />

有更好的方法吗

{% if s1 %}{{s1}}{% endif %}{% if s2 %}{{s2}}{% endif %}{% if s3 %}{{s3}}{% endif %}

2 个答案:

答案 0 :(得分:2)

使用default过滤器:

  

如果value的计算结果为False,则使用给定的默认值。否则,使用值。

{{ s1|default:"" }}

答案 1 :(得分:0)

您可以使用 elif 标记。

{% if s1 %}{{s1}}{% elif s2 %}{{s2}}{% elif s3 %}{{s3}}{% endif %}