• python三大框架之一flask中cookie和session的相关操作


    状态保持

    Cookie

    cookie 是指某些网站为了 辨别  用户身份,进行会话跟踪而储存在用户本地的数据(通常会经过加密),复数形式是 coolies.

    cookie是由服务器端生成,发送给客户端浏览器,浏览器会见Cookie中的key和value保存,下一次请求同一个浏览器时发给cookie服务端(前提是浏览器设置为启用cookie),cookie中的key和value可以由服务端自己定义。

    cookie基本应用在判断注册用户是否登陆网站,网站的广告推送,购物车等。

    小提示:

    因为cookie是储存在浏览器上的文本信息,有可能会被其他人使用,建议不要储存敏感信息;

    cookie基于域名安全,不同域名的cookie是不能互相访问的。

    cookie的应用

    #cookie相关操作,以来make_response库,调用cookie依赖request模块
    from flask import Flask,make_response,request

    #建立对象
    app =Flask(__name__)
    #从配置文件中加载配置
    app. config.from_pyfile('config.ini')

    @app.route('/')
    def index():
    return '这是首页'

    #存cookie的方法
    @app.route('/setcookie')
    def set_cookie():
    resp = make_response('储存cookie')
    #使用方法set_cookie来存储key-value形式的数据,可以添加存活时间
    resp.set_cookie('productnamae','[卫生纸','胶布]',max_age=3600)       #在储存cookie时,可以设置过期时间
    return resp

    #调用cookie的方法
    @app.route("/getcookie")
    def get_cookie():
    #通过request模块的cookies模块的get方法,指定key调用value
    resp = request.cookies.get('productnamae')
    return resp

    #删除模块
    @app.route('/delecookie')
    def del_cookie():
    #通过make_response对象内置的delete_cookie方法,指定key调用value
    resp = make_response('删除cookie')
    resp.delete_cookie('productnamae')
    return resp
    #程序入口
    if __name__ == "__main__":
    app.run()
     
    session
    对于敏感,重要的信息,建议储存到服务器端,不能储存到浏览器中,如用户名,余额,密码等,在服务端进行状态保持的方案就是Session
    sessoin依赖于cookie.
    session:请求上下文对象,用于处理HTTP请求中的一些数据
     
    应用
    #session是依赖于flask的session模块
    #如果想使用sessi模块,必须在配置里添加
    from flask import Flask,session

    #建立对象
    app = Flask(__name__)


    #从配置文件中加载配置
    app.config.from_pyfile('config.ini')

    @app.route('/')
    def index():
    return '我是首页,session'


    #存储session的方法
    @app.route('/set_session')
    def set_session():
    #直接使用session对储存的内容复值
    session['username'] = '你好'
    return '存储session成功'

    #调用session方法
    @app.route('/get_session')
    def get_session():
    #通过session直接对内容进行调用
    se = session['username']
    return se

    #删除session方法
    @app.route('/del_session')
    def del_session():
    #通过session的post方法指定key删除value
    session.pop('username')
    return '删除成功'

    if __name__ == "__main__":
    app.run()
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    梯度提升树算法GBDT
    优先队列 priority_queue
    谭平 Vision Course Note 1~2 Recommended Textbook and Camera Basics
    侯捷老师C++基础课程笔记7-栈、堆和内存管理
    侯捷老师C++基础课程笔记6-三大特殊函数
    侯捷老师C++基础课程笔记5-操作符重载与临时对象
    侯捷老师C++基础课程笔记4-参数传递与返回值
    侯捷老师C++基础课程笔记3-构造函数(不含指针变量的class)
    侯捷老师C++基础课程笔记1-2
    C文件处理之24/32位bmp图像的旋转
  • 原文地址:https://www.cnblogs.com/chengdongzi/p/10151735.html
Copyright © 2020-2023  润新知