2011-09-12 67 views
13

Tôi có một số đại diện tháng và tôi muốn thay thế nó với tên tháng, ngày lọc không làm việc:Cách hiển thị tên tháng theo số?

{{ monthnumber|date:"M" }} 

tôi muốn đặt hai liên kết - vào tháng tới và tháng trước, nhưng tôi chỉ có số của tháng .

Cách thực hiện?

+0

Đối với những người khác đến với câu hỏi này, kiểm tra xem điều này là cần xem xét những gì bạn đang cố gắng để đạt được với [Django quan điểm ngày dựa Lớp dựa] (https://docs.djangoproject.com/en/1.11/ref/class-based-views/generic-date-based/) trong đầu câu trả lời – surfer190

Trả lời

24

Bạn sẽ cần bộ lọc mẫu tùy chỉnh để chuyển đổi số thành tên tháng. Khá đơn giản nếu bạn sử dụng các module calendar từ thư viện tiêu chuẩn:

import calendar 

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

Cách sử dụng Ví dụ: {{ 5|month_name }} chí đầu ra May

+0

user1242163 không yêu cầu bộ lọc tùy chỉnh. – Matt

+2

câu trả lời của người dùng1242163 yêu cầu đối tượng datetime, không phải là số nguyên –

6

Vâng, đó là không được phép:

{{ monthnumber|date:"M" }} 

Bạn nên cố gắng này:

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

bạn nên sử dụng:

{{ datetimeobj|date:"F" }} 

đọc this

Các vấn đề liên quan