Python Cookie Session
自由小冰儿 人气:0前言
本篇文章,阐述一下Flask中Cookie和Session
为什么要说Cookie和Session呢?
答:因为http请求是无状态的,怎么理解呢?当你访问B站时,如果你没有Cookie或者Session,B站就认为你是一个没有登录的用户。如果你有Cookie或Session,那么B站就知道你登录了,并且知道你是谁。所以可以把跟你相关的资料返回
给你两者的区别:
答:Cookie是明文,Session是加密的Cookie。
安装
创建虚拟环境
mkdir myproject cd myproject python3 -m venv venv
进入虚拟环境
. venv/bin/activate
安装 flask
pip install Flask
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_cookie(): 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)
第一次首先访问/home
地址,会发现你没有Cookie给你返回一个你不是VIP,请先获取身份
但是当我们首先访问/set_cookie
,我们就会获得一个cookie
,然后我们在访问/home
地址,就可以成功的显示尊敬的用户您好了
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"] = "zhuxiaoxiao" return "设置session成功" + session["user_name"] @app.route("/home") def home(): if session.get("user_name") == "zhuxiaoxiao": return "尊敬的用户,登录成功" else: return "请先登录好吗?" if __name__ == "__main__": app.run(debug=True,port=5000)
- Session的使用方式整体和Cookie是一样的。
- 需要注意的是使用Session前,必须要进行设置
SECRET_KEY
,用来加密Cookie
加载全部内容