Cookieとは異なり、セッション(セッション)データはサーバーに保存されます。セッションは、クライアントがサーバーにログオンしてサーバーからログアウトする間隔です。セッションに保存する必要のあるデータは、一時的に保存されます。サーバー上のディレクトリ。
各クライアントのセッションにセッションIDを割り当てます。 セッションデータはCookieの先頭に保存され、サーバーは暗号化モードで署名します。この暗号化では、Flaskアプリケーションで定義済みのデータが必要です。 SECRET_KEY
。
関連コース: Python Flask:Flaskを使用してWebアプリを作成する
セッション
セッションオブジェクト
セッションオブジェクトは、セッション変数と関連する値のキーと値のペアを含む辞書オブジェクトでもあります。
たとえば、「username」セッション変数を設定するには、次のステートメントを使用します。
1 |
session['username'] = 'admin' |
セッション変数を解放するには、 pop()
方法。
1 |
session.pop('username', None) |
セッションの例
次のコードは、Flaskでのセッション作業の簡単なデモンストレーションです。URL「/」は、セッション変数「username」が設定されていないため、ユーザーにログインを求めるだけです。
1 |
|
ユーザーが「/ login」login()ビュー関数に移動すると、GETメソッドを介して呼び出されるため、ログインフォームが開きます。
フォームは「/ login」に返送され、セッション変数が設定されます。アプリケーションは「/」にリダイレクトされます。この時点で、セッション変数「username」が見つかりました。
1 |
|
アプリケーションを実行し、ホームページにアクセスします(アプリケーションのsecrett_keyが設定されていることを確認してください)
1 |
from flask import Flask, session, redirect, url_for, escape, request |
出力は次のように表示されます。 「ここをクリック」リンクをクリックします。
リンクは別の画面にリダイレクトされます。 「admin」と入力してログインします。 画面に「管理者としてログインしました」というメッセージが表示されます。
関連コース: Python Flask:Flaskを使用してWebアプリを作成する
Hope this helps!
Source link