Python Flask中Cookie和Session区别详解 - 网站

Python Flask中Cookie和Session区别详解

分类:python · 发布时间:2023-03-01 21:16 · 阅读:5443

Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能,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 内容请搜索0133技术站以前的文章或继续浏览下面的相关文章希望大家以后多多支持0133技术站!

标签:
Python Flask Cookie Session

相关文章

Python轻松管理与操作文件的技巧分享

在日常开发中,我们经常会遇到需要对文件进行操作的场景,如读写文件、文件夹操作等。本文将为大家介绍一些 Python 中处理文件的实用技巧,让你的工作更高效

pytorch实现梯度下降和反向传播图文详细讲解

这篇文章主要介绍了pytorch实现梯度下降和反向传播,反向传播的目的是计算成本函数C对网络中任意w或b的偏导数。一旦我们有了这些偏导数,我们将通过一些常数α的乘积和该数量相对于成本函数的偏导数来更新网络中的权重和偏差

深入理解pytorch库的dockerfile

这篇文章主要介绍了pytorch库的dockerfile,主要包括dockerfile命令,使用指令的注意点及存在的一些问题,本文给大家介绍的非常详细,需要的朋友可以参考下

Selenium多窗口切换解决方案

本文主要介绍了Selenium多窗口切换解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Python自动化办公之定时发送邮件的实现

python中的schedule模块可以使我们方便简单的使用定时任务,即在特定的时间自动的执行一些任务的功能,本文将用这一模块实现邮件自动发送,需要的可以参考一下

返回分类 返回首页