前言
Session 詳解:https://www.cnblogs.com/poloyy/p/12513247.html
這一節來瞧一瞧如何用 Flask 操作 Session
功能 list
提供操作 Session 的 4 項功能
頁面路徑 | 功能 |
---|---|
/set | 在 Session 中儲存一個名稱為 ‘user’、值為 ‘tom’ 的變數 |
/get | 獲取 Session 中名稱為 ‘user’ 的變數 |
/del | 刪除 Session 中名稱為 ‘user’ 的變數 |
/clear | 清除 Session 中所有的變數 |
專案構成
程式有 2 個原始檔構成
原始檔 | 描述 |
---|---|
app.py | Flask 後端程式,提供操作 Session 的介面 |
templates/query.html | 查詢 Session 中名稱為 user 和 pwd 的變數,並返回給客戶端 |
模板檔案 query.html
使用者的資料儲存在 Session 中,服務端程式使用頁面模板 query.html 展示 Session 中的資料
- <html>
- <head>
- <meta charset='UTF-8'>
- <title>顯示 session 中的變數</title>
- </head>
- <body>
- <h1>顯示 session 中的變數</h1>
- <h2>session.get('user') = {{ user }}</h2>
- <h2>session.get('pwd') = {{ pwd }}</h2>
- </body>
- </html>
Flask app.py 程式碼
引入模組
- #!usr/bin/env python
- # -*- coding:utf-8 _*-
- """
- # author: 小菠蘿測試筆記
- # blog: https://www.cnblogs.com/poloyy/
- # time: 2021/7/16 9:47 下午
- # file: app.py
- """
- from flask import Flask, render_template, session
- import os
- app = Flask(__name__)
- app.config['SECRET_KEY'] = os.urandom(24)
- Flask 有個配置屬性叫 SECRET_KEY
- SECRET_KEY 是一個金鑰,Flask 以及相關的擴充套件 extension 需要進行加密時需要使用這個金鑰
- 使用 Session 儲存資料時,Flask 在內部需要進行加密處理,所以要配置這個 KEY
- 這邊用 Python 的 os.random() 生成一個包含 24 個字元的隨機字串
設定 Session
- @app.route("/set")
- def set():
- session["user"] = "poloyy"
- session["pwd"] = "password"
- return render_template('query.html', user=session.get("user"), pwd=session.get("pwd"))
獲取 Session
- @app.route("/get")
- def get():
- user = session.get("user")
- pwd = session.get("pwd")
- return render_template('query.html', user=user, pwd=pwd)
刪除 Session
- @app.route("/del")
- def del_():
- session.pop("user")
- return render_template('query.html', user=session.get("user"), pwd=session.get("pwd"))
清空 Session 全部變數
- @app.route("/clear")
- def clear():
- session.clear()
- return render_template('query.html', user=session.get("user"), pwd=session.get("pwd"))