Python 获取客户端的两个字母的语言代码

Python 获取客户端的两个字母的语言代码,python,django,Python,Django,这可能是一个非常常见的问题,但经过大量的谷歌搜索,我仍然没有找到一个有用的答案 我的网站只使用英语,但我喜欢记录用户的会话,我需要了解客户的语言。我已经读到,我可以从HTTP\u ACCEPT\u language标题中获取语言信息,该标题是以逗号分隔的客户语言列表,按优先级降序排列,即第一个是主语言 我想用Django获得客户语言的两个字母的语言代码。e、 g en-gb, en-us en fr-fr, en-au

这可能是一个非常常见的问题,但经过大量的谷歌搜索,我仍然没有找到一个有用的答案

我的网站只使用英语,但我喜欢记录用户的会话,我需要了解客户的语言。我已经读到,我可以从
HTTP\u ACCEPT\u language
标题中获取语言信息,该标题是以逗号分隔的客户语言列表,按优先级降序排列,即第一个是主语言

我想用Django获得客户语言的两个字母的语言代码。e、 g

en-gb, en-us                       en
fr-fr, en-au                       fr
zh, en-us; q=0.8, en; q=0.6       zh
我该怎么做?我必须自己解析标题还是Django有内置的语言列表

是否有所有语言代码的详细清单


谢谢。

使用
翻译。从请求中获取语言:

from django.utils import translation

def view(request):

    client_lang = translation.get_language_from_request(request)
顺便问一下,你为什么要这个?您是否检查了django支持,因为
如果您启用了
localemidware
,您还可以使用
请求获取语言。语言\u code

我也这么认为,但我想再次检查它是否是实现我所需的可靠方法。谢谢。我认为这和HTTP\u ACCEPT\u LANGUAGE
不是一回事——这是他们用来查看你网站的语言,而不是他们浏览器的首选语言,不是吗?