Как отобразить название месяца по номеру? - PullRequest
13 голосов
/ 12 сентября 2011

У меня есть число, представленное месяцем, и я хочу заменить его на название месяца, фильтр даты не работает:

{{ monthnumber|date:"M" }}

Я хочу разместить две ссылки - в следующем месяце и в предыдущем месяце, но у меня есть только номер месяца.

Как это сделать?

Ответы [ 4 ]

26 голосов
/ 12 сентября 2011

Вам понадобится специальный шаблонный фильтр, чтобы преобразовать число в название месяца. Довольно просто, если вы используете модуль calendar из стандартной библиотеки:

import calendar

@register.filter
def month_name(month_number):
    return calendar.month_name[month_number]

Пример использования: {{ 5|month_name }} выдаст May

11 голосов
/ 28 января 2014

вы должны использовать:

{{ datetimeobj|date:"F" }}

читать это

6 голосов
/ 03 июля 2012

Ну, это не так:

{{ monthnumber|date:"M" }}

Вы должны попробовать это:

{{ datetimeobj|date:"M" }}
0 голосов
/ 11 марта 2019

На всякий случай, если вы не хотите форматировать объект даты, переданный в шаблон Django (как ясно показывают другие ответы), но вы предпочитаете просто получить номер месяца текущей даты; вот встроенный тег, который вы можете использовать для этого:

{% now "n" %}

Из документов: https://docs.djangoproject.com/en/2.1/ref/templates/builtins/#now

Вот встроенные теги даты, которые вы можете использовать с {% now [""] %}

https://docs.djangoproject.com/en/2.1/ref/templates/builtins/#date

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...