django.contrib.humanize

Набор фильтров шаблонов 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'.
Changed in Django 3.0:

Все числовые значения теперь переводятся как множественное число, за исключением 1.0, которое переводится как единственное число. Это может быть неверно для некоторых языков.

Changed in Django 3.1:

Добавлена поддержка отрицательных целых чисел.

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.

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

Вернуться на верх