2011-09-12 14 views
13

Bir numara temsil ay var ve ay adıyla değiştirmek istiyor, tarih filtresi çalışmıyor:Ay adı numaraya göre nasıl görüntülenir?

İki bağlantıları yerleştirmek isteyen
{{ monthnumber|date:"M" }} 

- gelecek ay ve önceki ay, ama ayın sayısı kadar olabilir .

Nasıl yapmalı?

+0

okumak, sen [Django Tarihi tabanlı Sınıf temelli görünümler] (https ile ulaşmak için ne çalışıyorsunuz düşünün bu gerekli olup olmadığını kontrol edin://docs.djangoproject.com/en/1.11/ref/class-based-views/generic-date-based/) göz önünde bulundurularak – surfer190

cevap

24

Numarayı bir ay ismine dönüştürmek için özel bir şablon filtresine ihtiyacınız olacak. Eğer standart kitaplığından calendar modülü kullanmak durumunda Oldukça basit:

import calendar 

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

Kullanım örneği: {{ 5|month_name }} irade çıkışı May

+0

user1242163'ün cevabı özel bir filtre gerektirmez. – Matt

+2

user1242163'ün cevabı bir datetime nesnesi gerektiriyor, tamsayı değil –

6

Eh, o değil:

{{ monthnumber|date:"M" }} 

Bunu denemek gerekir:

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

kullanmalısınız:

{{ datetimeobj|date:"F" }} 

bu soruya gelen Diğerleri için this

İlgili konular