问题描述:
我在做一个小项目的时候登录视图不是自己写的,而是直接使用了django提供的LoginView,最终在网页上的显示如下:
“登录您的账户” 这几个汉字是我自己写入template的,但是下面的表单是LoginView传过来的,所以显示的是英语。但是我希望表单里的文字也能显示汉语,整个页面都面向中国用户。
解决办法:
为了解决上述问题,我们需要更改settings.py里的语言设置。找到LANGUAGE_CODE那一行代码,并改成下面的样子:
LANGUAGE_CODE = 'zh-hans'
原来默认的LANGUAGE_CODE是en-us,也就是英语,现在我们就把它改成了汉语。有些人可能喜欢把hans里的h大写,其实大小写都可以。官方文档时这样描述的:
大意是说语言代码代表语言的名字,浏览器在Accept-Language HTTP header中以下面的这种格式传递它们接受的语言的名字(我们可以检查网页源代码,在network-all里面点开第一个文件,就能看到Accept-Language)。比如,it(意大利语)de-at(奥地利德育)es(西班牙语)pr-br(巴西葡萄牙语) 。语言代码一般都是小写的,但是HTTP Accept-Language header对大小写不敏感。中间的分隔符是一个连字符。
所以我们写zh-Hans 或者 zh-hans都可以。
修改过后,保存文件,刷新网页即可。
效果:
其实我们可以看到,不仅是这个页面,连带管理站点的文字都变成了中文。