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.

  • 45000 станет 45,000.

  • 450000 станет 450,000.

  • 4500000 станет 4,500,000.

Используется формат из текущей локализации, если он доступен и включена локализация. Например, для языка 'de':

  • 45000 станет '45.000'.

  • 450000 станет '450.000'.

Можно передать число или строку, представляющую число.

intword

Конвертирует большое число в читабельное тестовое представление. Лучше всего работает для чисел больше 1 миллиона.

Например:

  • 1000000 станет 1.0 million.

  • 1200000 станет 1.2 million.

  • 1200000000 станет 1.2 billion.

Поддерживаются число до 10^100 (Googol).

Используется формат из текущей локализации, если он доступен и включена локализация. Например, для языка 'de':

  • 1000000 станет '1,0 Million'.

  • 1200000 станет '1,2 Million'.

  • 1200000000 станет '1,2 Milliarden'.

Можно передать число или строку, представляющую число.

naturalday

Для даты равной текущей, или плюс/минус один день, возвращает “today”, “tomorrow” или “yesterday” соответственно. Иначе форматирует дату, используя переданный формат.

Аргумент: формат даты, описанный в описании тега date.

Пример (если текущая дата 17 февраля 2007):

  • 16 Feb 2007 станет yesterday.

  • 17 Feb 2007 станет today.

  • 18 Feb 2007 станет tomorrow.

  • Любая другая дата будет отформатирована в соответствии с переданным аргументом, или форматом из настройки DATE_FORMAT, если формат не передан в фильтр через аргумент.

naturaltime

Для значений datetime вернет текстовое представление сколько секунд, минут или часов прошло. Если значение больше одного дня, используется результат фильтра 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.

Можно передать число или строку, представляющую число.