Передача нескольких аргументов пользовательскому фильтру Django
У меня есть пользовательский фильтр, который выглядит так
register = template.Library()
@register.filter
def makebreadcrumbs(value, arg):
pass
Как передать несколько аргументов фильтру?
{% with request.resolver_match.namespace as name_space %}
{{ request.path|makebreadcrumbs:name_space|safe }}
{% endwith %}
В приведенном выше коде makebreadcrumbs
- это мой пользовательский фильтр, request.path
- переменная (значение), а name_space
- аргумент.
Я думаю, что вам нужен простой тег Django, который может принимать несколько аргументов:
@register.simple_tag(takes_context=True)
def breadcrumbs(path, name_space):
# your code
return ...
{% breadcrumbs request.path request.resolver_match.namespace %}