django中日期和时间的多语言格式

时间:2013-10-18 13:03:12

标签: django

在多语言Django项目中,我希望以不同的格式显示日期字段,具体取决于本地化。受到Django documentation on Translation中给出的示例的启发,我想使用像

这样的东西
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 个答案:

答案 0 :(得分:1)

DateFielddatetime.date实例在Python中表示。

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)