Flask(12)- 操作 Session

前言

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"))

 

浏览器的运行效果

设置 Session

 

获取 Session

 

删除 Session

 

清空 Session 全部变量 

  

总结

 

posted @ 2021-07-17 12:07  小菠萝测试笔记  阅读(173)  评论(0编辑  收藏  举报