Django Шаблон как применить фильтр к результату, возвращаемому простым тегом - PullRequest
1 голос
/ 15 января 2020

У меня есть следующий простой_тэг.

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

И в шаблоне.

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

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

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

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

1 Ответ

1 голос
/ 15 января 2020

Для простого тега результат тега шаблона можно сохранить в переменной с ключевым словом as, как указано в документации для простых тегов * 1006. *:

Можно сохранить результаты тега в переменной шаблона , а не выводить ее напрямую. Это делается с помощью аргумента 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>
...