flask框架学习(6)-Cookie与Session

1.cookie与session的区别
2.设置cookie
3.读取cookie
4.删除cookie
5.session操作

1.cookie与session的区别
1.Cookie是存储在用户浏览器中的一段纯文本信息,以Key-Value形式进行信息的存储,不建议存储敏感信息
2.Session是存储在Web服务器上,可以存储敏感、重要的信息
2.设置cookie
# 使用set_cookie进行cookie的设置,需要传一个key值和value值
from flask import Flask, make_response
app = Flask(__name__)

@app.route('/', methods=["get"])
def demo():
    resp = make_response('set cookie ok')
    resp.set_cookie('username', '6666')
    return resp

if __name__ == '__main__':
    app.run(host="0.0.0.0", port=5000, debug=True)

"""
设置有效期:默认关闭浏览器,cookie就失效,
         如果要设置cookie的有效期,可以通过max_age参数进行设置,单位是"秒"
 @app.route('/', methods=["get"])
 def demo():
    resp = make_response('set cookie ok')
    response.set_cookie('username', '6666', max_age=3600)
    return response
"""

3.读取cookie
# 使用request.cookie.get(key值) 去获取对应cookie的值
from flask import request

@app.route('/get_cookie')
def get_cookie():
    resp = request.cookies.get('username')
    return resp
 
4.删除cookie
# 使用response.delete_cookie(key值) 去删除对应cookie的值
from flask import request

@app.route('/delete_cookie')
def delete_cookie():
    response = make_response('hello world')
    response.delete_cookie('username')
    return response
5.session操作
1.flask中和的session是通过加密之后放到cookie中,所以使用session需要设置密钥参数 SECRET_KEY
2.session的更多介绍:https://blog.csdn.net/lluozh2015/article/details/123174344
3.代码

import os
from flask import Flask, session, make_response

app = Flask(__name__)

# 【设置秘钥-随意设置-三种方式都可以设置密钥】
# app.config["SECRET_KEY"] = "123"
app.secret_key='xihwidfw9efw'
# app.config['SECRET_KEY'] = os.urandom(24)  # 随机生成24个字符的密钥

# 【Session的设置】
@app.route("/")
def set_session():
    # 设置session数据
    session["name"] = "python"
    session["mobile"] = "123456789101"
    return "login success"


# 【Session的获取】
@app.route("/get_session1")
def get_session1():
    # 获取session数据
    name = session.get("name")
    print(name)
    return "hello %s" % name


# 【Session的删除/清空】
@app.route("/get_session2")
def get_session2():
    resp = make_response("del success")

    # 删除session数据
    del session["name"]
    # 清空session数据
    session.clear()
    return "hello %s" % resp

if __name__ == '__main__':
    app.run(host="0.0.0.0", port=5000, debug=True)

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。

文章标题:flask框架学习(6)-Cookie与Session

本文作者:伟生

发布时间:2022-10-01, 22:16:00

最后更新:2022-10-07, 16:57:52

原始链接:http://yoursite.com/2022/10/01/flask_13_cookie_session/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏