1

在多语言 Django 项目中,我想根据本地化以不同格式显示日期字段。受有关 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()

在一个相关问题中,一位受访者建议使用 babel 模块,但随后我必须在视图中明确指定语言环境,这对我来说似乎是个坏主意。

在多语言 Django 网站上显示日期的最简单方法是什么?

4

1 回答 1

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)
于 2013-10-18T13:11:45.200 回答