我的网站上有超过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>
由于
答案 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']
并做任何你想做的事情。