Flask学习笔记(七)-Flask之Cookie和Session
一、前言概述
为什么要说Cookie和Session呢?
答:因为http请求是无状态的,怎么理解呢?当你访问博客园站时,如果你没有Cookie或者Session,博客园就认为你是一个没有登录的用户。如果你有Cookie或Session,那么博客园就知道你登录了,并且知道你是谁。所以可以把跟你相关的资料返回给你
两者的区别:
答:Cookie是明文,Session是加密的Cookie。
二、Cookie的使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #Cookie的使用 from flask import Flask,Response,request app=Flask(__name__) @app .route( "/set_cookie" ) def set_cookie(): response=Response( "set cookie success" ) response.set_cookie( "user_id" , "123" ) return response @app .route( "/get_cookie" ) def get_cookeie(): cookies=request.cookies if cookies.get( "user_id" )== "123" : return "尊敬的用户你好,你的cookies是" + str(cookies) else : return "你不是vip,请先获取身份" if __name__ == '__main__' : app.run(debug=True,port= 5000 ) |
第一次首先访问/get_cookie地址,会发现你没有Cookie给你返回一个你不是VIP,请先获取身份
但是当我们首先访问/set_cookie,我们就会获得一个cookie,然后我们在访问/get_cookie地址,就可以成功的显示尊敬的用户您好了
三、session的使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #session的使用 from flask import Flask, session app = Flask(__name__) # !!!你需要设置一个SECRET_KEY用来加密Cookie app.config[ "SECRET_KEY" ] = "123" @app .route( "/set_session" ) def set_session(): session[ "user_name" ] = "xiaoming" return "设置session成功" + session[ "user_name" ] @app .route( "/get_session" ) def home(): if session.get( "user_name" ) == "xiaoming" : return "尊敬的用户,登录成功" else : return "请先登录好吗?" if __name__ == "__main__" : app.run(debug=True,port= 5001 ) |
- Session的使用方式整体和Cookie是一样的。
- 需要注意的是使用Session前,必须要进行设置
SECRET_KEY
,用来加密Cookie
本文来自博客园,作者:橘子偏爱橙子,转载请注明原文链接:https://www.cnblogs.com/xfbk/p/16737992.html
分类:
flask系列
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!