Python 3 – FlaskでCookieを取得して設定する

Cookieは、クライアントのコンピューターにテキストファイルとして保存されます。目的は、顧客の使用状況に関連するデータを記憶および追跡して、訪問者のエクスペリエンスとWebサイトの統計を向上させることです。

Flask Requestオブジェクトには、Cookieのプロパティが含まれています。これは、すべてのCookie変数とそれに対応する値の辞書オブジェクトであり、クライアントが転送されます。これに加えて、Cookieには、その有効期限、パス、およびドメイン名も保存されます。ウェブサイト。

関連コース: Python Flask:Flaskを使用してWebアプリを作成する

フラスコクッキー

Flaskで、応答オブジェクトにCookieを設定します。 make_response() ビュー関数の戻り値から応答オブジェクトを取得する関数。その後、Cookieはを使用して保存されます。 set_cookie() 応答オブジェクトの機能。

クッキーを読み戻すのは簡単です。 get() request.cookiesプロパティのメソッドは、Cookieを読み取るために使用されます。

次のFlaskアプリケーションでは、「/」URLにアクセスすると、単純なフォームが開きます。

1
2
3
@app.route("https://pythonbasics.org/")
def index():
return render_template('index.html')

このHTMLページには、テキスト入力が含まれています。

1
2
3
4
5
6
7
8
9
10
11
<html>
<body>

<form action = "/setcookie" method = "POST">
<p><h3>Enter userID</h3></p>
<p><input type="text" name="nm"/></p>
<p><input type="submit" value="Login"/></p>
</form>

</body>
</html>

フォームは「/ setcookie」URLに公開されます。関連するビュー関数はCookie名userIDを設定し、別のページをレンダリングします。

1
2
3
4
5
6
7
8
9
@app.route('/setcookie', methods = ['POST', 'GET'])
def setcookie():
if request.method == 'POST':
user = request.form['nm']

resp = make_response(render_template('readcookie.html'))
resp.set_cookie('userID', user)

return resp

‘readcookie.html’には、別のビュー関数getcookie()へのハイパーリンクが含まれています。この関数は、ブラウザにCookie値を読み戻して表示します。

1
2
3
4
@app.route('/getcookie')
def getcookie():
name = request.cookies.get('userID')
return '<h1>welcome ' + name + '</h1>'

アプリを実行してアクセスします localhost:5000 /

フラスコセットクッキー

ログインをクリックすると、Cookieが設定され、Cookieを読み取ることができます。

関連コース: Python Flask:Flaskを使用してWebアプリを作成する

Hope this helps!

Source link