Чтобы отформатировать дату в шаблонах Django как «гггг-мм-дд», вы можете использовать встроенный фильтр даты. Вот несколько способов добиться этого:
Метод 1: использование фильтра dateсо спецификатором формата Г-м-д:
{{ your_date_variable|date:"Y-m-d" }}
Метод 2: использование фильтра dateс настройкой DATE_FORMAT:
В файле настроек Django вы можете определить DATE_FORMATнастройка следующим образом:
DATE_FORMAT = "Y-m-d"
Затем в вашем шаблоне вы можете использовать фильтр dateбез указания формата:
{{ your_date_variable|date }}
Django автоматически использует параметр DATE_FORMATдля форматирования даты.
Метод 3. Написание собственного фильтра шаблона.
Вы можете создать собственный фильтр шаблона для форматирования даты. В своем приложении Django создайте новый файл с именем custom_filters.py(или любое другое имя, которое вы предпочитаете) и определите фильтр следующим образом:
from django import template
from django.utils.dateformat import DateFormat
register = template.Library()
@register.filter
def custom_date_format(value):
df = DateFormat(value)
return df.format("Y-m-d")
Обязательно загрузите пользовательский фильтр в свой шаблон перед его использованием:
{% load custom_filters %}
{{ your_date_variable|custom_date_format }}