Python Flask中Cookie和Session区别详解
前言
本篇文章,阐述一下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
到此这篇关于Python Flask中Cookie和Session区别详解的文章就介绍到这了,更多相关Python Cookie Session 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Python matplotlib包和gif包生成gif动画实战对比
使用matplotlib生成gif动画的方法相信大家应该都看到过,下面这篇文章主要给大家介绍了关于Python matplotlib包和gif包生成gif动画对比的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下2022-05-05
Django在urls.py利用函数path()配置路由时传递参数给调用的视图函数的方法(推荐)
这篇文章主要介绍了Django在urls.py利用函数path()配置路由时传递参数给调用的视图函数的方法(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧2024-01-01
mac PyCharm添加Python解释器及添加package路径的方法
今天小编就为大家分享一篇mac PyCharm添加Python解释器及添加package路径的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-10-10


最新评论