3

这两个命令在 Django 模板中是否具有相同的功能?

{{ foo|default:"bar" }}

{% firstof foo "bar" %}

如果这些以相同的方式工作,那么最佳实践是什么?firstof仅当我们有超过 2 个参数时才使用,或者总是使用firstof?

4

1 回答 1

3

default可以认为是 的一个特例firstof

firstof输出不是的第一个变量False- 想想or子句 - 它评估直到任何一个对象评估True并返回它。

它可用于比较多个值,而default用于特定对象。

default如果对象评估为,则输出指定的默认值False

于 2013-06-19T14:04:38.950 回答