Django рендеринг даты публикации (т. Е. «Час a go» против «10 февраля 2020») - PullRequest
0 голосов
/ 19 марта 2020

Я создаю приложение для словаря, используя Django. В приложении есть фид, где отображаются определения, где у каждого определения есть дата публикации.

Моя проблема: даты публикации, отображаемые в шаблонах, выглядят как «опубликованные 10 февраля 2020 года», или аналогичный. Для моей цели это нормально для старых определений, но не для более новых.

Моя цель: даты последних публикаций должны быть представлены как "опубликовано час go", "опубликовано вчера" или аналогичное.

Мне не удалось найти встроенный тег или фильтр Django, который делает это автоматически. Есть ли простой способ добиться этого в Django? Если нет, может кто-нибудь предложить решение?

Ответы [ 2 ]

2 голосов
/ 19 марта 2020

Вы можете использовать timesince как это в своем шаблоне

Published {{your_date_time_field<b>|timesince</b>}} ago

См. документы для получения дополнительной информации

0 голосов
/ 19 марта 2020

Два маршрута:

  1. {{pub_date | timesince}}: timesince документация ,
  2. {{pub_date | натуральное время}}: документация натурального времени (необходимо установить django .contrib.humanize для использования).
...