美文网首页
5、flask-会话

5、flask-会话

作者: 许忠慧 | 来源:发表于2023-08-24 12:05 被阅读0次

会话是客户端登录到服务器并注销服务器的时间间隔。需要在该会话中保存的数据会存储在服务器上的临时目录中。

这个对象相当于用密钥签名加密的 cookie ,即用户可以查看你的 cookie ,但是如果没有密钥就无法修改它

会话会为每个客户端的会话分配会话ID。会话数据存储在cookie的顶部,服务器以加密方式对其进行签名

一个实现了简单登录功能的demo:

from flask import Flask, session, redirect, url_for, request

# 创建一个app实例
app = Flask(__name__)

"""
必须创建一个 secret_key,创建方法:
import os
print(os.urandom(16))
"""
app.secret_key = '\xf9\x84L<\x12/;\xcfg\xdf\x18!I:\xa3\x8e?\xed\x08O'


# 主页面,如果有会话数据则显示登陆人,如果没有会话数据则提示跳转到登录
@app.route('/')
def root():
    if 'username' in session:
        username = session['username']
        return f"{username} 正在访问主页<br/><a href='/logout'>点击这里注销</a>"
    return "未登录, 无法访问该页面<br/><a href='/login'>点击这里登录</a>"


# 登录,如果发送的是post请求则去进行校验,校验通过跳转到主页面,如果发送的是get请求则显示登录页面
@app.route('/login', methods=['POST', 'GET'])
def login():
    if request.method == 'POST':
        session['username'] = request.form['username']
        return redirect(url_for('root'))
    return '''
        <form action = "" method = "post">
            <p><input type="text" name="username"/></p>
            <p><input type="submit" value ="登录"/></p>
        </form>
    '''


# 删除会话并且跳转到主页
@app.route('/logout')
def logout():
    session.pop('username', None)
    return redirect(url_for('root'))


if __name__ == '__main__':
    app.run(debug=True)

效果:

相关文章

  • Flask中的flask_login

    Flask- login为Flask提供了用户会话管理。它处理登录、注销和长时间记住用户会话等常见任务。 安装 L...

  • Flask 框架(2)-模板

    Flask-模板

  • python版websocket

    背景 目前看到实现websocket的框架的- django的channels- flask- sanic好奇,用...

  • 5.fiddler状态面板的使用

    1.命令行面板 2.控制fiddler是否工作 3.过滤会话来源 4.记录当前会话数量 5.显示当前会话地址

  • ORACLE数据库事务隔离级别 之SERIALIZABLE

    1.准备测试表及数据 2.插入测试数据 3.查看数据分布 4.测试会话1 5.测试会话2 6.回到测试会话1

  • Mysql常用命令

    1 查看当前会话隔离界别 2 查看全局隔离级别 3 设置全局隔离级别 4 设置当前会话的隔离界别 5 系统变量符 ...

  • flask-信号

    Flask框架中的信号基于blinker,其主要就是让开发者可是在flask请求过程中定制一些用户行为。 使用方法...

  • Flask-基础

    网页的分类 静态网页:无法与服务器进行交互的网页 动态网页:能够与服务器进行交互的网页 WEB与服务器 WEB 网...

  • Flask-模型

    模型 什么是模型 模型是根据数据库中表的结构来创建出来的class。每一张表到编程语言中就是一个class,表中的...

  • Flask-模板

    模板-Templates 什么是模板 模板是一个包含响应文本的文件(通常是html文件),该文件中允许包含"占位变...

网友评论

      本文标题:5、flask-会话

      本文链接:https://www.haomeiwen.com/subject/wmdmpdtx.html