Улучшение читаемости


Набор фильтров шаблонов Django, полезный для придания данным «человеческого оттенка».

Чтобы активировать эти фильтры, добавьте 'django.contrib.humanize' к настройке INSTALLED_APPS. Как только вы это сделаете, используйте {% load humanize %} в шаблоне, и вы получите доступ к следующим фильтрам.

apnumber
Для чисел 1-9 возвращает написанное число. В противном случае возвращается номер. Это соответствует стилю Associated Press.

Примеры:

1 становится one.
2 становится two.
10 становится 10.
Вы можете передать либо целое число, либо строковое представление целого числа.

intcomma
Преобразует целое число или число float (или строковое представление любого из них) в строку, содержащую запятые через каждые три цифры.

Примеры:

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 как единственное число, а все остальные числовые значения - как множественное, что может быть некорректно для некоторых языков. Лучше всего работает для чисел больше 1 миллиона.

Примеры:

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.
Вы можете передать либо целое число, либо строковое представление целого числа.