Django i18n和python语言环境(和日期)

时间:2009-08-23 14:50:01

标签: python django internationalization

我一直在玩Django的i18n系统,它似乎主要是工作。但是,模型代码中的日期似乎导致了问题。

我使用datetime.strftime来填充一些CHOICES元组,然后在表单中使用它们。

根据我的理解,django会将语言环境设置为用户的选择,以便datetime.strftime()以适当的语言输出,但这似乎不会发生。

我在这里缺少什么?

如果我手动设置语言环境(例如locale.setlocale(locale.LC_TIME,'de_DE.UTF-8')),则datetime会正确翻译。

谢谢,

汤姆

2 个答案:

答案 0 :(得分:3)

Django没有为翻译设置语言环境,只是加载翻译目录。要获得所需的效果,您可以设置区域设置(这不是一个好的选项,因为它在整个过程中工作)或使用专门的库。我推荐Babel,它有很好的Django集成。

答案 1 :(得分:1)

我最近遇到了类似的问题,但设法使用format代替python strftime来解决问题