前言

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 中的資料

  1. <html>
  2. <head>
  3. <meta charset='UTF-8'>
  4. <title>顯示 session 中的變數</title>
  5. </head>
  6.  
  7. <body>
  8. <h1>顯示 session 中的變數</h1>
  9. <h2>session.get('user') = {{ user }}</h2>
  10. <h2>session.get('pwd') = {{ pwd }}</h2>
  11. </body>
  12.  
  13. </html>

Flask app.py 程式碼

引入模組

  1. #!usr/bin/env python
  2. # -*- coding:utf-8 _*-
  3. """
  4. # author: 小菠蘿測試筆記
  5. # blog: https://www.cnblogs.com/poloyy/
  6. # time: 2021/7/16 9:47 下午
  7. # file: app.py
  8. """
  9.  
  10. from flask import Flask, render_template, session
  11. import os
  12.  
  13. app = Flask(__name__)
  14. app.config['SECRET_KEY'] = os.urandom(24)
  • Flask 有個配置屬性叫 SECRET_KEY
  • SECRET_KEY 是一個金鑰,Flask 以及相關的擴充套件 extension 需要進行加密時需要使用這個金鑰
  • 使用 Session 儲存資料時,Flask 在內部需要進行加密處理,所以要配置這個 KEY
  • 這邊用 Python 的 os.random() 生成一個包含 24 個字元的隨機字串

設定 Session

  1. @app.route("/set")
  2. def set():
  3. session["user"] = "poloyy"
  4. session["pwd"] = "password"
  5. return render_template('query.html', user=session.get("user"), pwd=session.get("pwd"))

獲取 Session

  1. @app.route("/get")
  2. def get():
  3. user = session.get("user")
  4. pwd = session.get("pwd")
  5. return render_template('query.html', user=user, pwd=pwd)

刪除 Session

  1. @app.route("/del")
  2. def del_():
  3. session.pop("user")
  4. return render_template('query.html', user=session.get("user"), pwd=session.get("pwd"))

清空 Session 全部變數

  1. @app.route("/clear")
  2. def clear():
  3. session.clear()
  4. return render_template('query.html', user=session.get("user"), pwd=session.get("pwd"))

瀏覽器的執行效果

設定 Session

獲取 Session

刪除 Session

清空 Session 全部變數

總結