Flask(12)- 操作 Session

简介: 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

image.png

获取 Session

image.png

删除 Session

image.png

清空 Session 全部变量

image.png

总结


image.png


相关文章
|
1月前
|
存储 数据安全/隐私保护 Python
flask session的操作
flask session的操作
25 4
|
5月前
|
监控 Serverless API
函数计算操作报错合集之在函数计算用gunicorn启动flask,会报错找不到这个包,该怎么办
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
|
5月前
|
前端开发 Python
Flask之ajax操作示例
Flask之ajax操作示例
34 2
|
数据库 Python
【Flask】Flask-SQLAlchemy的增删改查(CRUD)操作
Flask-SQLAlchemy的增删改查(CRUD)操作
|
数据采集 存储 数据安全/隐私保护
详解Flask中session与cookie的用法
详解Flask中session与cookie的用法
|
存储 安全 数据安全/隐私保护
Flask学习与项目实战8:cookie与session的介绍与使用
cookie:在最开始的网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。c
Flask学习与项目实战8:cookie与session的介绍与使用
|
数据库 数据安全/隐私保护 Python
【flask入门系列】Cookie与Session
今天我总结一下flask中的cookie与session,flask中的session和正常的session是不一样的,为浏览器session,保存在浏览器。
145 0
【flask入门系列】Cookie与Session
|
存储 安全 Unix
Flask Cookie和Session的使用
Flask Cookie和Session的使用
|
Python
Python:Flask-Script通过命令行的形式来操作Flask
Python:Flask-Script通过命令行的形式来操作Flask
161 0
|
JavaScript 前端开发 Python
Flask(11)- 操作 Cookie
Flask(11)- 操作 Cookie
138 0
Flask(11)- 操作 Cookie