Django Шаблон, как применить фильтр к результату, возвращаемому простым тегом

У меня есть следующий simple_tag.

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

И в шаблоне.

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

А теперь я хочу применить фильтр к вышеуказанным returned данным из теста simple_tag ,

например, я хочу применить фильтр naturaltime к возвращаемым данным, как это сделать вместе с простым тегом.

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

Всего 1 ответ


Для простого тега вы можете сохранить результат тега шаблона в переменной с ключевым словом 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.arg2 as result %}{{ result|naturaltime }}</h6>

Есть идеи?

10000