Затем в вашем шаблоне вы можете использовать свой тег с помощью следующего синтаксиса
{% load my_tag %} {% my_tag "Hello, World!" %}
В этом примере мы использовали тег my_tag и передали ему строку "Hello, World!". Этот тег преобразует строку в верхний регистр и вернет ее.
Заметьте, что мы загрузили наш тег с помощью {% load my_tag %} в начале шаблона. Это сообщает Django, что мы хотим использовать наш тег в этом шаблоне. Аналогично вы можете создать фильтр, определенный в файле my_filter.py, например:@register.filter def my_filter(value): return value * 2
А затем использовать его в шаблоне, например:
{% load my_filter %} {{ my_value|my_filter }} В этом примере мы загрузили фильтр my_filter и применили его к значению my_value, умножив его значение на 2.
Дополнительные параметры могут быть переданы в теги и фильтры, как и в любые другие функции Python. Например, вы можете добавить дополнительный параметр в наш тег my_tag, который указывает, должна ли строка быть преобразована в верхний или нижний регистр:@register.simple_tag
def my_tag(value, case='upper'): if case == 'upper': return value.upper() elif case == 'lower': return value.lower() else: return value
В этом примере мы добавили необязательный параметр case, который по умолчанию установлен на 'upper'. Если case равно 'upper', мы преобразуем строку в верхний регистр, если 'lower', то в нижний регистр. Если значение case не 'upper' или 'lower', то мы возвращаем исходную строку без изменений.
Затем в шаблоне вы можете использовать этот тег с дополнительным параметром, например:
{% my_tag "Hello, World!" case='lower' %}
В этом примере мы передали параметр case='lower' в наш тег my_tag, чтобы преобразовать строку в нижний регистр. Заметьте, что теги и фильтры могут также принимать произвольное количество аргументов или именованных параметров, если вы используете соответствующую сигнатуру функции Python. Наконец, не забудьте зарегистрировать свой тег или фильтр с помощью register.tag() или register.filter(), как показано в примерах выше.