试图理解Django中的L10N实现,以下是我的设置
LANGUAGE_CODE = 'fr-FR'
USE_L10N = True
如果我试着
>>> datetime.datetime.strptime('2012-05-30 15:30', '%Y-%m-%d %H:%M')
.strftime('%c')
它将给我'Wed May 30 15:30:00 2012'
,这就是EN语言环境。然而doc在说:
[...] Two users accessing the same content, but in different language, will see date and number fields formatted in different ways, depending on the format for their current locale [...]
他们在谈论各自浏览器的语言环境设置吗?
如果不是,我如何设置默认为法语例如?
Django的本地化工作在Django模板和表单的上下文中,不能向上移动到Python的内部日期时间表示:
因此,如果您有
USE_L10N = True
,并且具有FR
区域的用户将10,45
输入到表单中,则在英语十进制系统中,这将被解释为10.45
。类似地,模板标记{{ value|date:"SHORT_DATE_FORMAT" }}
的输出将根据用户的区域设置而变化。但是,Python内部
strftime('%c')
不访问Django的设置,而是引用安装它的计算机上的区域设置。您可以使用以下命令检索并更改Python指向的语言环境设置:或者通过设置环境变量
$LANG
。相关问题 更多 >
编程相关推荐