Фильтр тегов шаблона Django с несколькими аргументами - PullRequest
0 голосов
/ 08 марта 2019

Фильтр тегов шаблонов Django с несколькими аргументами

@register.filter
def customTag(value, first, second):
...
return result

Template

{{ valor|customTag:first|customTag:second }}

Error

customTag требуется 3 аргумента, 2 при условии

Ответы [ 2 ]

1 голос
/ 08 марта 2019

Нельзя передать несколько аргументов фильтру ( ссылка ). Вместо этого вы можете сделать это так:

@register.filter
def customTag(value, args):
   first, second = args.split(',')
   ...
   return value

{{ valor|customTag:"first,second"}}  // pass comma separated arguments in string
0 голосов
/ 08 марта 2019

Я думаю, что просто передача целого customTag вместо аргумента может решить проблему.Возможно, есть другое возможное решение.

@register.filter("filter_of_custom_tag")
def customTag(custom_tag_instance):
... 
return result

А в вашем шаблоне

{{ customTag|filter_of_custom_tag}}
...