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

Posted

技术标签:

【中文标题】Django - 模板中多个 if 的更好方法【英文标题】:Django - better way of multiple if's in template 【发布时间】:2014-05-15 21:53:04 【问题描述】:

我在模板和变量中有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 %

【问题讨论】:

【参考方案1】:

您可以使用 elif 标签。

% if s1 %s1% elif s2 %s2% elif s3 %s3% endif %

【讨论】:

【参考方案2】:

使用default 过滤器:

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

 s1|default:"" 

【讨论】:

所以我可以说:s1|default:""s2|default:""s3|default:"",对吧?

以上是关于Django - 模板中多个 if 的更好方法的主要内容,如果未能解决你的问题,请参考以下文章

django 模板使用

在多个 django 模板文件中显示相同 html 块的最佳 DRY 方法

django模板继承使用相同标签多个模板

如何在 Django 模板中获得“switch-case”语句功能?

有没有一种方法可以在 Django 的同一个模板中呈现多个视图?

Django模板语言(DTL)基础