Укажите метод рендеринга по умолчанию для определенного типа в Jinja2

В Jinja2, как можно указать метод рендеринга по умолчанию для определенного типа?

В частности, datetime?

Я обнаружил, что это довольно раздражает при рендеринге значений datetime из Django. Они выглядят как 2022-11-04T00:00:00.987654+00:00. Для чего это T, и почему за плюсом + следует 00:00. Мои пользователи, которые всю жизнь прожили на маленьких островах, не поймут. Помимо проблемы форматирования, Django предоставляет объекты времени UTC. Всегда UTC, несмотря на то, что TIME_ZONE в его модуле настроек было указано другое значение.

Я знаю, что могу использовать фильтр типа me.time_of_death|format_datetime. Однако ставить его после каждого отдельного поля времени даты кажется мне безумием, и я не хочу быть разбуженным в полночь из-за времени даты без этого фильтра, выпущенного в предыдущий день

Возможно ли сделать его по умолчанию?

Вы можете использовать dateparse:

from django.utils import dateparse

Затем, когда перед тем, как передать время шаблону, вы можете использовать следующее, чтобы преобразовать его в нечто более понятное для ваших соотечественников-островитян:

readable_time = dateparse.parse_datetime(CONFUSING_TIME_STRING)
Вернуться на верх