django - 在 Django 模板中,firstof 还是 default?

标签 django django-templates

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

{{ foo|default:"bar" }}

{% firstof foo "bar" %}

如果它们的工作方式相同,那么最佳做法是什么?仅当我们有超过 2 个参数时才使用 firstof,还是始终使用 firstof

最佳答案

default 可以被认为是 firstof 的特例。

firstof输出不是 False 的第一个变量 - 想想 or 子句 - 它会计算直到任何一个对象计算为 True 并返回.

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

default如果对象的计算结果为 False

,则输出指定的默认值

关于django - 在 Django 模板中,firstof 还是 default?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17193285/

相关文章:

python - Django应用程序的<str :slug> and <slug:slug> in urls. py的区别

python - Django模板: include a *relative* file but don't parse it

django - Django 中的 cookie 和 session 有什么区别?

django - 如何使用 Sendgrid 从 Heroku 中部署的 Django 应用程序发送重置密码电子邮件?

django-templates - Django 模板中的动态 block

Django 2.1 密码重置 View 404

python - 通过模型的属性(而不是字段)对 Django QuerySet 进行排序

mysql - Django 如何判断我的数据库是否支持事务?

python - 属性错误: 'BoxesView' object has no attribute 'object_list'

python - Django 操作错误未知列