Django - HTML Шаблон получает название месяца по номеру - PullRequest
0 голосов
/ 06 мая 2020

У меня есть номер месяца, и я хочу заменить его названием месяца. Фильтр даты не работает, так как он работает с datetime, и у меня есть поле как целое число. Конечно, значение будет от 1 до 12.

{{ monthnumber|date:"M" }}

Пожалуйста, помогите.

Ответы [ 2 ]

1 голос
/ 06 мая 2020

Из того, что я прочитал, я предполагаю, что вы просто передаете целое число. Вы должны передать значение, которое является объектом datetime, ie в контексте вашего представления, monthname должно быть объектом datetime.

Если вы все еще хотите работать с целым числом от 1 до 12, вы можете напишите свой собственный фильтр с чем-нибудь вроде:

@register.filter
def monthtextual(value):
    return datetime.date(2020, value, 1).strftime('%B')

Подробнее см. https://docs.djangoproject.com/en/3.0/howto/custom-template-tags/.

0 голосов
/ 06 мая 2020

Спасибо всем за ценные решения. Вместо использования настраиваемого фильтра или любого стороннего кода ... Я обычно добавляю дополнительное поле для имени месяца вместе с номером месяца в самом наборе запросов ... и в шаблоне HTML я использовал это дополнительное поле для имени месяца для отображения. Кажется, это быстро.

...