这可能是一个非常常见的问题,但经过大量谷歌搜索后,我还没有找到有用的答案.
我的网站只有英文版,但我喜欢记录用户会话的日志,我需要获取客户端的语言.我已经读过,我可以从HTTP_ACCEPT_LANGUAGE标题中获取语言信息,该标题是以优先级降序排列的客户语言的逗号分隔列表,即第一个是主要语言.
我想在Django中获得客户端语言的双字母语言代码.例如
en-gb, en-us en
fr-fr, en-au fr
zh, en-us; q=0.8, en; q=0.6 zh
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?我是否必须自己解析标题或者Django是否有内置的语言列表?
是否有所有语言代码的详细列表?
谢谢.
用途translation.get_language_from_request:
from django.utils import translation
def view(request):
client_lang = translation.get_language_from_request(request)
Run Code Online (Sandbox Code Playgroud)
顺便问一下你为什么要这个?你检查了django对i18n和l10n的支持,因为如果你有LocaleMiddleware启用,你也可以使用该语言request.LANGUAGE_CODE.
| 归档时间: |
|
| 查看次数: |
341 次 |
| 最近记录: |