0

私のウェブサイトには 10 を超える言語があります。ユーザーが 1 つの言語 (フランス語など) を選択した場合、ブラウザーを閉じて再度サイトにアクセスしても、同じ言語 (フランス語) のままにする必要があります。

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>

ありがとう

4

1 に答える 1

0

Cookie とセッション変数の管理方法についてもう少し理解するには、django のドキュメントを読む必要があります: Django session .

Django のリクエストは、いくつかの変数がプリロードされた辞書のようなオブジェクトですが、独自に定義することもできます。ビューでは、次のように Cookie に変数を設定できます。

request.cookies['lang'] = anylang

ここで、「lang」は変数に使用するキー名であり、ブラウザで設定され、次の応答で返されます。「anylang」は、サイトが言語で動作するように設定する変数です。英語=1、ロシア語=2...

この時点で、ユーザー ブラウザに Cookie を設定します。この Cookie は将来の応答で使用されます。その Cookie の値は次のように読み取ることができます。

lang = request.cookies['lang']

そして、その値でやりたいことを何でもしてください。

于 2013-05-21T15:02:29.440 に答える