2011-09-12 12 views
13

Tengo un número representado meses y quiero reemplazarlo con el nombre del mes, filtro de fecha que no trabaja:¿Cómo mostrar el nombre del mes por número?

{{ monthnumber|date:"M" }} 

quiero poner dos enlaces - el próximo mes y el mes anterior, pero sólo tengo número de meses .

¿Cómo hacerlo?

+0

Para otros que vienen a esta pregunta, comprobar si esto es necesario considerar lo que está tratando de lograr con [puntos de vista basados ​​en base Fecha Clase Django] (https://docs.djangoproject.com/en/1.11/ref/class-based-views/generic-date-based/) en mente – surfer190

Respuesta

24

Necesitará un filtro de plantilla personalizado para convertir el número en un nombre de mes. Bastante simple si se utiliza el módulo de calendar de la librería estándar:

import calendar 

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

Ejemplo de uso: {{ 5|month_name }} es la salida May

+0

La respuesta de user1242163 no requiere un filtro personalizado. – Matt

+2

La respuesta de user1242163 requiere un objeto datetime, no un entero –

6

Bueno, no lo es:

{{ monthnumber|date:"M" }} 

Usted debe intentar esto:

{{ datetimeobj|date:"M" }} 
9

se debe utilizar:

{{ datetimeobj|date:"F" }} 

leer this

Cuestiones relacionadas