Введение — я описал, как использовать встроенные фильтры Django, что очень удобно, когда мы разрабатываем какие-то проекты. Однако встроенные фильтры все-таки ограничены (что делать, если встроенные не удовлетворяют наши потребности?), но правила мертвы, а люди живы. Это приводит нас к следующей теме: настраиваемые фильтры и метки.
Во-первых, два вопроса, которые нужно понять:
- Какие бывают настраиваемые фильтры и метки — по определенным правилам определяют функции, отвечающие потребностям;
- Где использовать пользовательские фильтры и теги — везде, где они вам нужны;
На самом деле, вы можете подумать, зачем вам использовать пользовательские функции, пользовательские модули! Это все одна правда.
1. Конфигурация пути к файлу для пользовательских фильтров и меток:
Все мы знаем, что Django требует, чтобы файлы шаблонов размещались в каталоге templates; В отличие от этого, Django также предоставляет настраиваемые фильтры и теги — их необходимо поместить в каталог templatetags!
2. Два замечания о настраиваемых фильтрах и метках:
Первый пункт:
Пользовательские фильтры и теги должны быть размещены в каталоге templatetags!
Второй пункт:
Каталог templatetags должен быть включен в зарегистрированное приложение!
(Зарегистрируйте приложение в файле settings.py в каталоге проекта, как показано на рисунке ниже.)
3. В каталоге templatetags, где находятся пользовательские фильтры и теги, есть два места:
Первый тип: специальное приложение (эксклюзивное)
-
Создайте модуль Python с именем templatetags в каталоге приложения.
(即包含“__init__.py”文件。也就是说,这个文件夹是个 Python Package,而不是普通的文件夹。) -
Общедоступное — создайте новое приложение, а затем создайте папку templatetags в новом приложении (примечание: это приложение должно быть зарегистрировано!)