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.pyFlask 后端程序,提供操作 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 全部变量 

总结

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小菠萝测试笔记

来支持下测试小锅锅

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值