Django Web開発-Cookieとセッション

1.クッキー

1.1クッキーとは何ですか?

クッキーはサーバーによって生成され、ブラウザ側の小さなテキスト情報に保存されます。
Cookieの特徴:
1)キーと値のペアで保存します。
2)ブラウザーを介してWebサイトにアクセスすると、ブラウザーに保存されているWebサイトに関連するすべてのCookie情報がWebサイトのサーバーに送信されます。
3)Cookieはドメイン名のセキュリティに基づいています。
4)Cookieには有効期限があり、指定しない場合、デフォルトでブラウザを閉じた後に有効期限が切れます。

1.2クッキーの役割

HTTPプロトコルはステートレスであり、各リクエストは独立しています。その実行と結果は、以前のリクエストと後続のリクエストとは何の関係もありません。Cookieは、httpリクエストのステータスに対する人々のニーズを満たすために生まれました。

1.3 DjangoでのCookieの使用

  • クッキー
    設定
def cookie_set(request):
    response = HttpResponse("<h1>设置Cookie</h1>")
    response.set_cookie('your_cookie', '你好')
    return response

一般的に使用される:

rep.set_cookie(key,value,...)
rep.set_signed_cookie(key,value,salt='加密字符串', max_age=None, ...)
  • クッキー
    取得する例:
def cookie_get(request):  
    if 'your_cookie' in request.COOKIES:
        response = HttpResponse("获取Cookie")
    	return response

一般的に使用される:

request.COOKIES['key']
request.get_signed_cookie(key, default=RAISE_ERROR, salt='', max_age=None)
  • まとめ
方法 説明文
rep.set_cookie(key、value、…) クッキーを設定する
rep.set_signed_cookie(key、value、salt = 'encrypted string'、max_age = None、…) ソルトCookieの設定、パラメーター:1)キー、キー2)値= ''、値3)max_age =なし、タイムアウト4)期限切れ=なし、タイムアウト(IEには期限切れが必要なので、設定されていない場合は設定してください)すでに)5)パス= '/'、Cookieが有効なパス、/はルートパスを意味します、特別:ルートパスCookieは任意のURLページからアクセスできます6)ドメイン=なし、Cookieが有効なドメイン名7)安全= False 、https送信9)httponly = Falseは、HTTPプロトコルでのみ送信でき、JavaScriptでは取得できません(絶対ではなく、基になるパケットキャプチャを取得または上書きできます)。
request.COOKIES ['key'] 通常のクッキー取得
request.get_signed_cookie(key、default = RAISE_ERROR、salt = ''、max_age = None) ソルトCookieの取得、パラメーター:1)デフォルト:デフォルト値2)salt:暗号化されたsalt 3)max_age:バックグラウンドコントロールの有効期限

二。セッション

機密で重要な情報については、ユーザー名、残高、レベル、確認コード、その他の情報など、ブラウザーではなくサーバー側に保存することをお勧めします。その後、セッションが使用されます。
セッションは重要な情報をサーバーに保存し、ランダムな文字列をCookieに保存されているクライアントに返します。

セッションの特徴:

    1. セッションはキーと値のペアとして保存されます。
    1. セッションはクッキーに依存します。一意の識別コードは、sessionid cookieに保存されます。
    1. セッションには有効期限もあります。指定しない場合、デフォルトでは2週間で期限が切れます。
      ここに画像の説明を挿入

2.1 Djangoセッションの一般的なメソッド

用途 方法
ゲット 1)request.session ['k1'] 2)request.session.get( 'k1'、None)
セットアップ 1)request.session ['k1'] =“ abc” 2)request.session.setdefault( 'k1'、“ abc”)
セッションデータを削除する del request.session ['k1']
キー、値、キーと値のペアで一般的に使用される方法 1)request.session.keys()2)request.session.values()3)request.session.items()4)request.session.iterkeys()5)request.session.itervalues()6)request.session .iteritems()
セッションキー request.session.session_key
セッションの有効期限が現在の日付より小さいすべてのデータを削除します request.session.clear_expired()
セッションセッションキーがデータベースに存在するかどうかを確認します request.session.exists(“ session_key”)
現在のセッションのすべてのセッションデータを削除する request.session.delete()
現在のセッションデータを削除し、セッションCookieを削除します。 request.session.flush()
セッションとCookieのタイムアウトを設定する request.session.set_expiry(値) 如果value是个整数,session会在些秒数后失效。 如果value是个datatime或timedelta,session就会在这个时间后失效。 如果value是0,用户关闭浏览器session就会失效。 如果value是None,session会依赖全局session失效策略。
元の記事を21件公開しました 賞賛されました0 訪問数316

おすすめ

転載: blog.csdn.net/qq_38756978/article/details/105302523