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

Converts a large integer (or a string representation of an integer) to a friendly text representation. Translates 1.0 as a singular phrase and all other numeric values as plural, this may be incorrect for some languages. Works best for numbers over 1 million.

Например:

  • 1000000 станет 1.0 million.
  • 1200000 станет 1.2 million.
  • 1200000000 станет 1.2 billion.

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

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

  • 1000000 станет '1,0 Million'.
  • 1200000 becomes '1,2 Millionen'.
  • 1200000000 станет '1,2 Milliarden'.
Changed in Django 3.0:

All numeric values are now translated as plural, except 1.0 which is translated as a singular phrase. This may be incorrect for some languages.

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.

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