如何在模板中使用变量默认值?

时间:2012-02-05 12:56:04

标签: python django templates django-templates

如果实际变量为defaults,我想将变量None传递给我的模板。

这就是我的意思:

{{ value|default:"Default" }}   ## General case.

如何将"Default"替换为自定义变量?

是否可以将其替换为另一个变量?

类似的东西:

{{ value|default:{{value2}} }}     ## OR Something similar

1 个答案:

答案 0 :(得分:3)

你可以像这样放置另一个变量而不是常量字符串:

{{ value|default:backup_var }}

我刚试过这个,它运行正常。这是我的模板:

<i>{{ my_var|default:user.username}}</i>

我没有定义my_var,因此评估为:

<i>admin</i>

总结一下,django解析器不仅接受常量值,还接受变量作为过滤器的参数。但不是表达式(我无法弄清楚如何解析我的表达式。但如果你需要它,你可能会在复杂的情况下使用{% with var=expr %} ... {% endwith %}