IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Django中的Cookies和Session会话保持技术 -> 正文阅读

[Python知识库]Django中的Cookies和Session会话保持技术

想象一个情景,我们在逛淘宝时,首先浏览器会先我登录用户,并且把数据传入服务器,可是如果服务器没有合适的方法来储存处理这些数据,等到我们要下订单付款时浏览器要是把我们的账户忘了,那将会造成很不好的消费体验,因此,Django等大部分框架都提供了Cookies和session技术来处理这个问题。

Cookies

当浏览器向服务器发送请求时,服务器会将一些数据传回浏览器并储存在浏览器内部的内存中,这部分内存叫做cookies,每次发送请求时浏览器都会将一些数据上传到服务器来供服务器使用。
在这里插入图片描述
在配置路由函数时,可以将响应对象在返回前,调用相应的函数来对cookies中的cookie数据进行“增删改查”:

  • set_cookie()为增加或者更新数据时用到的函数,其主要用到的参数有:
    • key: 设置cookie的键
    • value: 设置cookie的值
    • max_age: 该条cookie在浏览器中从生成开始保留多久,单位秒(s)
  • request.COOKIES用法和GET\POST一致,可以通过cookie的key值访问其value
  • delete_cookie(key)set_cookie用法一致,传入key值删除此条cookie数据

Session

前面的cookie很明显有一定的缺陷,如果服务器把交互数据等都储存在浏览器的cookie中,其一安全性不足,如果有密码等隐私数据,用js等就可以很轻易的取出或修改,再者刚才说了浏览器每次提交请求时都会把cookies数据全部上传到服务器,数据一旦多起来,便会造成速度变慢等问题,而session就是解决这个问题的。
session将一个浏览器发起请求所提交的数据在服务器的数据库内开辟一块内存来专门储存这个客户端,而服务器每次收到请求后都会将一个叫sessionid的值传回cookie,这个值就相当于一把钥匙,能够打开这块数据库的区域来访问里面的数据,每个客户端之间的信息是封闭的,即储存区域,sessionid不一样。
而session的增删改查均是以类似字典形式来进行的,这个“字典”即request.session
比如要增加一个key为’username’的值’Marconi’
request.session['username'] = 'Marconi'

  • 像cookies一样,session也需要设置sessionid在cookies中保存的时间,默认为14天,我们也可以在settings.py文件中增加配置项SESSION_COOKIE_AGE = time单位为秒。
  • 过期的session由于各种原因,数据库无法判断是否应该删除这些数据,因此我们需要养成习惯,每晚通过命令手动删除这些过期数据python3 manage.py clearsessions
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-02-14 21:05:39  更:2022-02-14 21:07:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 23:53:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码