Django 模板如何对简单标签返回的结果应用过滤器



我有以下simple_tag。

@register.simple_tag
def Test(arg1,arg2)
return arg1+arg2

并在模板中。

<h6>{% Test val.arg1 val.arg2 %}</h6>

现在我想对上述来自simple_tag测试returned数据应用过滤器,

例如,我想对返回的数据应用naturaltime过滤器,如何与简单标签一起执行此操作。

<h6>{% Test val.arg1 val.arg2 | naturaltime %}</h6>

对于简单标签,您可以将模板标签的结果存储在带有as关键字的变量中,如简单标签文档中指定的那样:

可以将标签结果存储在模板变量中,而不是直接输出它。这是通过使用as参数,后跟变量名称。这样做可以让你输出 您认为合适的内容:

{% current_time "%Y-%m-%d %I:%M %p" as the_time %}
<p>The time is {{ the_time }}.</p>

所以在这种情况下,我们可以通过以下方式渲染输出:

<h6>{% Test val.arg1 val.arg2as result%}{{result|naturaltime }}</h6>

最新更新