使用jQuery设置语言的cookie

时间:2013-05-15 21:42:53

标签: jquery django jquery-cookie

我的网站上有超过10种语言。如果用户选择了一种语言(例如法语),如果他们关闭浏览器并再次访问该网站,则应保留相同的语言(法语)。

我如何通过在jQuery中使用cookie来做到这一点?

以下是我目前的代码:

{% if request.LANGUAGE_CODE == 'da' %}
French
{% endif %}
{% if request.LANGUAGE_CODE == 'nn'
Norwegian
{% endif %}
<form action="/i18n/setlanguage/" method="post" id="language">{% csrf_token %}
<input name="languages" type="hidden" value="{{request.path}}" />
<select name="trans" onchange="this.form.submit();" 
class="lang_act">

<option value="da">French</option>
<option value="nn">Norwegian</option>

由于

1 个答案:

答案 0 :(得分:0)

嗯,您需要阅读django文档,以了解它如何管理Cookie和会话变量:Django session

Django中的请求是一个类似字典的对象,预先加载了几个变量,但也让你定义了自己的变量。在视图中,您可以将变量设置为cookie,如下所示:

request.cookies['lang'] = anylang

其中&#39; lang&#39;是你想要变量的关键名称,它将在浏览器中设置并进入以下响应,并且&#39; anylang&#39;是您要为网站设置语言的任何变量,请假设english = 1,russian = 2 ...

此时您在用户浏览器中设置了一个cookie,该cookie将在未来的响应中出现,您可以像这样读取该cookie的值:

lang = request.cookies['lang']

并做任何你想做的事情。