クライアントコンピュータに保存されたテキストファイルの形でクッキー。その目的は、覚えて、より良い訪問者の経験やウェブサイトの統計情報に関連する顧客の使用状況データを追跡することです。
Requestオブジェクトは、クッキーの属性が含まれています。これは、すべてのクッキー変数とその対応する値は、クライアントが送信された辞書オブジェクトです。また、クッキーはまた、そのドメイン名の有効期限、パスとサイトを格納します。
フラスコを使用すると、クッキーは応答オブジェクト上に配置されました。make_response()関数を使用してビュー機能に応答オブジェクトから取得した値を返します。その後、set_cookieオブジェクト()関数に応答してクッキーを格納します。
クッキーを再読み込みするのは簡単です。あなたはクッキーを読むことrequest.cookies属性取得()メソッドを使用することができます。
=> / URLにアクセスするには、以下のフラスコアプリケーションでは、それは簡単なフォームが開きます。
@ app.route( '/')
デフインデックス():
render_templateを返す( 'index.htmlを')
このHTMLページには、次のように完全なコードは、テキスト入力が含まれています -
フォームは、URL => /ますsetcookieに提出されます。プレゼンテーションユーザID、および他のページ:関連する機能を表示には、クッキーの名前を設定します。
@ app.route( '/ますsetcookie'、メソッド= [ 'POST'、 'GET'])
デフますsetcookie():
request.method == 'POST' の場合:
ユーザー=のRequest.Form [ '名前']
RESP = make_response(render_template( 'readcookie.html'))
resp.set_cookie( 'ユーザーID'、利用者)
リターンRESP
readcookie.htmlは別の関数getcookie()ビューへのハイパーリンクが含まれている、機能がリードバックし、ブラウザでクッキーの値。
@ app.route( '/ getcookie')
デフgetcookie():
名前= request.cookies.get( 'ユーザーID')
リターン "
歓迎「+名+」
"
完全なアプリケーションのコードは次のようです -
フラスコのインポートフラスコから
フラスコのインポートrender_templateから
フラスコのインポート要求から
フラスコのインポートmake_responseから
アプリ=フラスコ(__ name__)
@ app.route( '/')
デフインデックス():
render_templateを返す( 'index.htmlを')
@ app.route( '/ますsetcookie'、メソッド= [ 'POST'、 'GET'])
デフますsetcookie():
request.method == 'POST' の場合:
ユーザー=のRequest.Form [ '名前']
RESP = make_response(render_template( 'readcookie.html'))
resp.set_cookie( 'ユーザーID'、利用者)
リターンRESP
@ app.route( '/ getcookie')
デフgetcookie():
名前= request.cookies.get( 'ユーザーID')
名前を印刷する)
リターン "
歓迎、 '+名+'
"
__name__ == '__main__' の場合:
app.run(デバッグ=真)
アプリケーションを実行し、アクセスするURL =>のhttp:// localhostを:5000 /
結果は、配置されたクッキーを示しています -
次のように再読み込みクッキー出力は -
(編集:Leilin鵬出典:削除されたネットワーク侵入)