Django模板如何对简单标签返回的结果应用过滤器
Posted
技术标签:
【中文标题】Django模板如何对简单标签返回的结果应用过滤器【英文标题】:Django Template how to apply filter on the result returned by simple tag 【发布时间】:2020-05-02 05:18:57 【问题描述】:我有一个以下 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>
【问题讨论】:
% Test val.arg1 val.arg2 as result % result|naturaltime
呢?
【参考方案1】:
对于简单标签,您可以将模板标签的结果存储在带有as
关键字的变量中,如documentation on simple tags 中所指定:
可以将标记结果存储在模板变量中 而不是直接输出。这是通过使用
as
完成的 参数后跟变量名。这样做可以让您输出 自己认为合适的内容:% current_time "%Y-%m-%d %I:%M %p" as the_time % <p>The time is the_time .</p>
所以在这种情况下,我们可以使用以下方式渲染输出:
<h6>% Test val.arg1 val.arg2 <b>as result</b> % <b>result</b>|naturaltime </h6>
【讨论】:
以上是关于Django模板如何对简单标签返回的结果应用过滤器的主要内容,如果未能解决你的问题,请参考以下文章