zoukankan      html  css  js  c++  java
  • 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 全部变量 

      

    总结

  • 相关阅读:
    Training: WWW-Robots
    Training: Stegano I
    Encodings: URL
    利用Nginx实现域名转发 不修改主机头
    C++删除目录和复制目录函数
    获取文件大小的函数
    日志打印函数
    拉起上级目录程序
    安卓TabHost页面
    有趣的人形时钟
  • 原文地址:https://www.cnblogs.com/poloyy/p/15019737.html
Copyright © 2011-2022 走看看