Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django中是否有类似request.LANGUAGE_的区域性代码?_Django - Fatal编程技术网

Django中是否有类似request.LANGUAGE_的区域性代码?

Django中是否有类似request.LANGUAGE_的区域性代码?,django,Django,request.LANGUAGE\u code告诉我用户选择了什么语言。例如英语为en,德语为de 但是我如何获得文化代码呢?比如英国英语的GB,美国英语的us 非常感谢,Django i18n上下文处理器(“Django.core.context\u processors.i18n”)将您的语言设置添加到上下文中。这让你可以做一些事情,比如: <form action="{% url 'set_language' %}" method="post"> {% csrf_token %

request.LANGUAGE\u code
告诉我用户选择了什么语言。例如英语为
en
,德语为
de

但是我如何获得文化代码呢?比如英国英语的
GB
,美国英语的
us


非常感谢,

Django i18n上下文处理器(“Django.core.context\u processors.i18n”)将您的语言设置添加到上下文中。这让你可以做一些事情,比如:

<form action="{% url 'set_language' %}" method="post">
{% csrf_token %}
<input name="next" type="hidden" value="{{ redirect_to }}" />
<select name="language">
{% get_language_info_list for LANGUAGES as languages %}
{% for language in languages %}
<option value="{{ language.code }}">{{ language.name_local }} ({{ language.code }})</option>
{% endfor %}
</select>
<input type="submit" value="Go" />
</form>

{%csrf_令牌%}
{%get_language_info_list for LANGUAGES as LANGUAGES%}
{%用于语言中的语言%}
{{language.name_local}}({{language.code}})
{%endfor%}

添加方言也是有效的,例如,看看这篇文章:


请求.META['HTTP\u ACCEPT\u LANGUAGE']
。但是,这是由客户端(通常是web浏览器)设置的,因此在某些情况下可能无法正确设置。唯一简单的方法是让用户选择他们喜欢的语言,然后使用该设置。但是,如果站点是否使用正确的语言并不重要,并且您希望它在没有干预的情况下为用户“工作”,那么使用HTTP_ACCEPT_语言头就可以了。您甚至可以将这两种方法结合起来,这样,如果用户喜欢与检测到的语言不同的语言,他们就可以切换

谢谢你。最初,我尝试根据浏览器HTTP_接受的语言设置应用语言和区域性设置。但这似乎有点离谱。也许我应该允许用户将他们最喜欢的语言保存在数据库中,并且每次都从数据库中获取。让我先来个剧本……:)