Укажите метод рендеринга по умолчанию для определенного типа в 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)