5

私は Django プロジェクトに取り組んでいます。ユーザーがログインしているかログアウトしているかにかかわらず、UI 設定を維持したいと考えています。

だからクッキーは私が推測する方法です。だから私はrequest.COOKIES Pythonとdocument.cookieJSが同じものであるかどうか混乱しています。つまり、Cookie の値を取得して設定するのは、JS または Django ビューから行う場合と同じです。私の質問が明確であることを願っています。私はクッキーの対象に少し慣れていません。ありがとう

4

2 に答える 2

10

request.COOKIES同じデータセットがdocument.cookie含まれています。ただし、Cookie の値を取得および設定する方法はまったく異なります。

request.COOKIESCookieを読み取るためのpython dictです。たとえば、「color」という名前の Cookie があり、その値が「blue」であるとします。これを行うrequest.COOKIES['color']と、文字列「blue」が返されます。request.COOKIESこれらの Cookie の値は、ブラウザーが要求を行ったときにブラウザーから django に送信されるため、Cookie の設定には使用できません。Cookie を設定するには、 を使用する必要がありますHttpResponse.set_cookie。( https://docs.djangoproject.com/en/1.5/ref/request-response/#django.http.HttpResponse.set_cookie)]

document.cookie一方、 は、セミコロンで区切られた名前と値のペアの文字列である「生」形式の Cookie です。特定の Cookie を読み取るには、その文字列を検索して、探している Cookie を見つける必要があります。document.cookie = "name=value;..."Cookie を設定するには、 [ ref ]を呼び出す必要があります。しかし、ほとんどの場合、JavaScript ライブラリ/フレームワークは既に面倒な作業を行っているため、Cookie を取得/設定するには、一連の関数呼び出しを行う必要があります。

于 2013-06-18T06:10:51.957 に答える
1

request.COOKIES

戻り値

すべての Cookie を含む標準の Python 辞書。キーと値は文字列です。

文字列をdocument.cookie返します

javascriptによって返された文字列を解析するよりも、辞書を繰り返し処理してすべてのCookieを取得する方が簡単だと思います

于 2013-06-18T05:47:09.567 に答える