2013-10-18 65 views
1

在多語言Django項目中,我想根據本地化顯示不同格式的日期域。由Django documentation on Translation給出的例子啓發,我想用類似django日期和時間的多語言格式化

def my_view(request, my_date): 
    output = _('Today is %(month)s %(day)s.') % {'month': my_date.month(), 
               'day': my_date.day()} 
    return HttpResponse(output) 

其中my_dateDateField。不幸的是,這個對象沒有day()month()方法來提取日期。

related question中,有一位受訪者提出了babel模塊,但我必須在視圖中明確指定區域設置,這對我來說似乎是一個壞主意。

在多語言Django站點上顯示日期的最簡單方法是什麼?

回答

1

DateField在Python中由datetime.date實例表示。

datetime.date對象具有monthday屬性。 (他們不是方法。)

所以,你可以寫你的看法是:

def my_view(request, my_date): 
    output = _('Today is %(month)s %(day)s.') % {'month': my_date.month, 
               'day': my_date.day} 
    return HttpResponse(output)