Окружение: Джанго 2.2
- Пример кода:
from django.template.defaulttags import register
@register.filter(name='lookup')
def lookup(value, arg):
return value.get(arg)
Я поместил этот код в файл с именем template_filters.py в папке моего проекта с именем portfolioiomgr
Независимо от того, куда вы положили код фильтра, убедитесь, что в этой папке есть __init__.py
Добавьте этот файл в раздел библиотек в разделе шаблонов в файле projectfolder / settings.py. Для меня это портфолио / settings.py
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
'libraries':{
'template_filters': 'portfoliomgr.template_filters',
}
},
},
]
В своем HTML-коде загрузите библиотеку
{% load template_filters %}