はじめにクッキー
HTTPプロトコルはステートレスであるため、その実装と、前または後続の要求の結果は、直接私たちが保存する必要があるいくつかのデータを生成するサーバーとブラウザセッションに関連ではなく、HTTPプロトコルであるためデータを書き込むプロパティは、このように私たちはいくつかのデータを保存し、ある状態を、維持するために、クッキー生まれた、保存されません。
クッキーは、それがサーバー情報のビットですブラウザはサーバがこの情報を運ぶアクセス次回、その後、地元のブラウザに保存されている鍵の束を送信し、サーバは、有用な情報を抽出することができます
ユースケース
直接アクセスすることができ、小さな例を着陸、ユーザーがログインしていないとき、インデックスページがログイン画面にジャンプします。ログインアクセスがクッキーを運ぶでしょう、サーバは情報を抽出し、アクセス
1つの デフcheck_login(FUNC): 2 @wraps(FUNC) 3 DEF内(リクエスト、*引数、** kwargsから): 4 であれば request.COOKIES.get(' _login ')== ' はい' : 5 リターン FUNC(要求、*引数、** kwargsから) 6 他: 7 戻りリダイレクト(F ' /login/?before_url={request.path_info} ' ) 8 リターンインナー 9 10 11 12 デフログイン(リクエスト): 13 場合 request.methodは== ' GET ' : 14 リターンは(要求、レンダリング' login.htmlと' ) 15 ELIFの request.method == ' POST ' : 16 ユーザー= request.POST.get(' ユーザー' ) 17 パスワード=リクエストを.POST.get(' パスワード' ) 18 19 もしユーザ== ' baoyuan ' 及びパスワード== ' baoyuan123 ' : 20 nexturl = request.GET.get(' before_url ' ) 21 ならnexturl: 22 = RET リダイレクト(nexturl) 23 ret.set_cookie(' _login '、' はい' ) 24 リターンRET 25 他: 26 RET =リダイレクト(' /インデックス/ ' ) 27 ret.set_cookie(' _login ' ' はい" ) 28 リターンRET 29 他: 30 リターンレンダリング(リクエスト、' login.htmlと' { ' エラー':' 用户名或密码错误' }) 31 32 @check_login 33 デフ指数(要求): 34 リターンレンダリング(要求、' インデックス.htmlの' ) 35 36 @check_login 37 DEF personal_info(リクエスト): 38 リターンレンダリング(リクエスト、' personal_info.html ')