django.contrib.humanize
Набор фильтров шаблонов Django, полезных для придания данным «человеческого» вида.
Чтобы активировать эти фильтры, добавьте 'django.contrib.humanize' в настройку INSTALLED_APPS. После этого используйте {% load humanize %} в шаблоне, и вам станут доступны следующие фильтры.
apnumber
Для чисел от 1 до 9 возвращает число прописью. В остальных случаях возвращает число без изменений. Фильтр соответствует стилю Associated Press.
Примеры:
-
1становитсяone. -
2становитсяtwo. -
10становится10.
Можно передать как целое число, так и его строковое представление.
intcomma
Преобразует целое число или число с плавающей точкой (либо строковое представление любого из них) в строку с запятыми через каждые три цифры.
Примеры:
-
4500становится4,500. -
4500.2становится4,500.2. -
45000становится45,000. -
450000становится450,000. -
4500000становится4,500,000.
Если включена локализация форматов, она будет учитываться, например, для языка 'de':
-
45000становится'45.000'. -
450000становится'450.000'.
intword
Преобразует большое целое число (либо его строковое представление) в удобочитаемую текстовую форму. Значение 1.0 переводится как фраза в единственном числе, а все остальные числовые значения — во множественном числе; для некоторых языков это может быть некорректно. Лучше всего работает с числами больше миллиона.
Примеры:
-
1000000становится1.0 million. -
1200000становится1.2 million. -
1200000000становится1.2 billion. -
-1200000000становится-1.2 billion.
Поддерживаются значения до 10^100 (гугол).
Если включена локализация форматов, она будет учитываться, например, для языка 'de':
-
1000000становится'1,0 Million'. -
1200000становится'1,2 Millionen'. -
1200000000становится'1,2 Milliarden'. -
-1200000000становится'-1,2 Milliarden'.
naturalday
Для текущей даты или даты, отстоящей от неё на один день, возвращает «сегодня», «завтра» или «вчера» соответственно. В остальных случаях форматирует дату с использованием переданной строки формата.
Аргумент: строка формата даты, описанная в теге date.
Примеры (если «сегодня» — 17 февраля 2007 года):
-
16 Feb 2007становитсяyesterday. -
17 Feb 2007становитсяtoday. -
18 Feb 2007становитсяtomorrow. - Любой другой день форматируется в соответствии с указанным аргументом или настройкой
DATE_FORMAT, если аргумент не задан.
naturaltime
Для значений даты и времени возвращает строку, указывающую, сколько секунд, минут или часов назад произошло событие; если значение старше суток, используется формат фильтра timesince. Если значение даты и времени относится к будущему, автоматически подбирается подходящая фраза.
Примеры (если «сейчас» — 17 февраля 2007 года, 16:30:00):
-
17 Feb 2007 16:30:00становитсяnow. -
17 Feb 2007 16:29:31становится29 seconds ago. -
17 Feb 2007 16:29:00становитсяa minute ago. -
17 Feb 2007 16:25:35становится4 minutes ago. -
17 Feb 2007 15:30:29становится59 minutes ago. -
17 Feb 2007 15:30:01становится59 minutes ago. -
17 Feb 2007 15:30:00становитсяan hour ago. -
17 Feb 2007 13:31:29становится2 hours ago. -
16 Feb 2007 13:31:29становится1 day, 2 hours ago. -
16 Feb 2007 13:30:01становится1 day, 2 hours ago. -
16 Feb 2007 13:30:00становится1 day, 3 hours ago. -
17 Feb 2007 16:30:30становится30 seconds from now. -
17 Feb 2007 16:30:29становится29 seconds from now. -
17 Feb 2007 16:31:00становитсяa minute from now. -
17 Feb 2007 16:34:35становится4 minutes from now. -
17 Feb 2007 17:30:29становитсяan hour from now. -
17 Feb 2007 18:31:29становится2 hours from now. -
18 Feb 2007 16:31:29становится1 day from now. -
26 Feb 2007 18:31:29становится1 week, 2 days from now.
ordinal
Преобразует целое число в его порядковое числительное в виде строки.
Примеры:
-
1становится1st. -
2становится2nd. -
3становится3rd.
Можно передать как целое число, так и его строковое представление. Отрицательные целые числа возвращаются без изменений.
© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/6.0/ref/contrib/humanize/