При выполнении {% load custom_filters %}
в шаблоне после {% extends "base.html" %}
все работает нормально, но когда я перемещаю нагрузку в шаблон base.html, фильтр ведет себя странно. Это мой custom_filters.py
:
from django import template
from django.template.defaultfilters import stringfilter
register = template.Library()
# To cut off strings at a specified character, at first occurance. Example:
# time = 19:30:12.123456
# {{ time|cut:'.' }}
# returns: 19:30:12
@register.filter
@stringfilter
def cut(string, cutoff_point):
return string.split(cutoff_point, 1)[0]
Когда я загружаю его в «конечный шаблон», поведение соответствует ожидаемому. Если time = 19:30:12.123456
, то {{ time|cut:'.' }}
возвращает 19:30:12
. Когда я загружаю его в base.html
, возвращаемое значение равно 19:30:12123456
, то же самое, что и ввод, но без «точки отсечки».
Кто-нибудь знает, почему?