我正在尝试从HTML头部ACCEPT-LANGUAGE标头中选择语言。我已经使用了parse_accept_lang_header()模块。但它以小角色归还了我所有的语言代码。像这样[('pt-pt', 1.0), ('pt-br', 0.8), ('en-us', 0.5), ('en', 0.3)]
但我希望得到第一个小字符,第二个部分用大写校正器。像这样[('pt-PT', 1.0), ('pt-BR', 0.8), ('en-US', 0.5), ('en', 0.3)]
。那我怎么能这样做呢?
我的代码如下:
from django.utils.translation.trans_real import parse_accept_lang_header
header_locales =parse_accept_lang_header(
request.META.get('HTTP_ACCEPT_LANGUAGE', None))
header_locales
在小型修剪器中返回区域设置名称。
答案 0 :(得分:0)
看起来django会为你降低语言代码(thx dgel)。您是否有理由需要高级版本?您可以随时拆分代码并自己大写它。或者您可以复制parse_accept_lang_header
代码的功能而不使用小写位。我不确定用例是什么。
如果您需要查询数据库,可以使用以下内容(来自here和original documenation):
MyClass.objects.filter(name__iexact=my_parameter)