在多语言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_date
是DateField
。不幸的是,此对象没有day()
和month()
方法来提取日期。
在一个related question中,一个受访者建议使用babel模块,但是我必须在视图中明确指定语言环境,这对我来说似乎是一个坏主意。
在多语言Django网站上展示日期的最简单方法是什么?
答案 0 :(得分:1)
DateField
由datetime.date
实例在Python中表示。
datetime.date
个对象具有month
和day
个属性。 (它们不是方法。)
所以你可以把你的观点写成:
def my_view(request, my_date):
output = _('Today is %(month)s %(day)s.') % {'month': my_date.month,
'day': my_date.day}
return HttpResponse(output)