前言

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 全部变量

总结

Flask(12)- 操作 Session的更多相关文章

  1. Flask中的session操作

    一.配置SECRET_KEY 因为flask的session是通过加密之后放到了cookie中.所以有加密就有密钥用于解密,所以,只要用到了flask的session模块就一定要配置“SECRET_K ...

  2. Flask初学者:session操作

    cookie:是一种保存数据的格式,也可以看成是保存数据的一个“盒子”,服务器返回cookie给浏览器(由服务器产生),由浏览器保存在本地,下次再访问此服务器时浏览器就会自动将此cookie一起发送给 ...

  3. 9.Flask Cookie和Session

    1.1.概念 cookie:在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户.cookie的出现就是为了解决这个问题,第 ...

  4. flask 状态保持session和上下文session的区别

    问题场景: 在falsk项目中导入了两个session:    首先,配置文件config.py文件中 有个 flask_session扩展导入了Session  ( from flask_sessi ...

  5. Flask的插件session、SQLAlchemy、Script、Migrate

    一.flask-session 1.为什么要使用flask-session 因为flask默认的session是通过请求上下文放入到Local中的,是存在内存的,而使用flask-session可以更 ...

  6. flask总结之session,websocket,上下文管理

    1.关于session flask是带有session的,它加密后存储在用户浏览器的cookie中,可以通过app.seesion_interface源码查看 from flask import Fl ...

  7. Flask中的session ,自定义实现 session机制, 和 flask-session组件

    session 是基于cookie实现, 保存在服务端的键值对(形式为 {随机字符串:'xxxxxx'}), 同时在浏览器中的cookie中也对应一相同的随机字符串,用来再次请求的 时候验证: 注意 ...

  8. 将 flask 中的 session 存储到 SQLite 数据库中

    将 flask 中的 session 存储到 SQLite 数据库中 使用 flask 构建服务器后端时,常需要在浏览器端存储 cookie 用于识别不同用户,根据不同的 cookie 判断出当前请求 ...

  9. 笔记-flask基础操作

    笔记-flask基础操作 1.      前言 本文为flask基础学习及操作笔记,主要内容为flask基础操作及相关代码. 2.      开发环境配置 2.1.    编译环境准备 安装相关Lib ...

随机推荐

  1. 鸿蒙 Android iOS 应用开发对比02

    个人理解,不抬杠 转载请注明原著:博客园老钟 https://www.cnblogs.com/littlecarry/ IOS 把界面抽象成 "控制" Controller:And ...

  2. DM8_Linux详细安装步骤

    (从虚拟机配置讲起,有基础的可以直接看二,谢谢) 一.虚拟机的安装和配置 软件:virtualbox 系统:centos7 工具:Xshell 官网下载centos7,使用virtualbox安装ce ...

  3. 十二、.net core(.NET 6)添加通用的访问webapi的方法(包括HttpClient和HttpWebRequest)

    开发通用的访问webapi方法. 在common工具文件夹下,新建一个类库项目:Wsk.Core.WebHelper,并引用Package包项目,然后新建一个类HttpClientHelper,用于使 ...

  4. 适用于CUDA GPU的Numba例子

    适用于CUDA GPU的Numba例子 矩阵乘法 这是使用CUDA内核的矩阵乘法的简单实现: @cuda.jit def matmul(A, B, C): """Perf ...

  5. 微调BERT:序列级和令牌级应用程序

    微调BERT:序列级和令牌级应用程序 Fine-Tuning BERT for Sequence-Level and Token-Level Applications 为自然语言处理应用程序设计了不同 ...

  6. 嵌入式Linux设备驱动程序:在运行时读取驱动程序状态

    嵌入式Linux设备驱动程序:在运行时读取驱动程序状态 Embedded Linux device drivers: Reading driver state at runtime 在运行时了解驱动程 ...

  7. webgl变换:深入图形平移

    在以前的文章里,不管是绘制图形,绘制点亦或者是改变色值,所有的内容都是静态的. 在 webgl 里,图形的运动分为 平移.旋转.缩放 三种类型. 接下来,我们会从零基础开始,一点一点来深入了解图形如何 ...

  8. 绘制log()函数图像,并在图上标注选定的两个点

    绘制log()函数图像,并在图上标注选定的两个点 import math import matplotlib.pyplot as plt if __name__ == '__main__': x = ...

  9. 反汇编EXE添加一个启动时的消息框

    反汇编EXE添加一个启动时的消息框 最近有一个要修改PE文件的需求,就先从EXE文件下手吧,我也是初学一个小时而已,不过之前接触过一点汇编罢了,这篇文章算是个DEMO,主要的思路是将其反汇编得到汇编代 ...

  10. 『言善信』Fiddler工具 — 11、Fiddler中Composer功能详解

    目录 1.Composer功能介绍 2.Composer界面说明 3.使用方式 (1)自定义Request请求 (2)Composer重复发送请求 (3)Composer篡改请求数据 1.Compos ...