cookie与session

由来及简介

HTTP协议四大特性
1.基于请求响应
2.基于TCP、IP作用于应用层之上
3.无连接
4.无状态 基于HTTP协议的通信无法记录客户端状态
但是现在很多软件都需要记录用户的状态 为了解决这个问题
发明了cookie session等一系列的技术

cookie
保存在客户端浏览器上面的键值对数据
"""
eg:当用户登录成功之后 浏览器保存用户的关键信息
以后访问的时候浏览器自动发送关键信息从而实现身份识别 关键型数据直接保存在浏览器上不安全
"""
session
保存在服务器上面的键值对数据(数据类型不固定)
"""
eg:当用户登录成功之后 服务端返回给浏览器一个随机字符串
之后访问都将随机字符串发送给服务端
服务端内部做比对
"""
# session需要依赖于cookie才可以工作
客户端浏览器可以保存服务端发送过来的cookie数据也可以选择拒绝

cookie操作

视图函数返回的HttpResponse对象
return HttpResponse()
return render()
return redirect()
...


obj = HttpResponse()
return obj
obj = render()
return obj
obj = redirect()
return obj

# 用户登录
设置cookie
obj = HttpResponse("登录成功")
obj.set_cookie('name','jason')
获取cookie
request.COOKIES.get('name')
删除cookie
obj.delete_cookie("name")

session操作

session设置
request.session['name'] = 'jason'
"""
1.自动产生一个随机字符串
2.将随机字符串和数据存入django_session表中
3.将随机字符串返回给客户端浏览器保存
"""

session读取
request.session.get('name')
"""
1.客户端请求中获取随机字符串
2.拿着随机字符串去django_session表中比对
3.如果比对成功获取对应的数据并且解析放到request.session中
"""
# django session默认的过期时间14d 可以人为修改


# 删除当前会话的所有Session数据
request.session.delete() # 只删客户端浏览器
  
# 删除当前的会话数据并删除会话的Cookie。
request.session.flush() # 客户端浏览器和服务端都删
​ # 设置会话Session和Cookie的超时时间
request.session.set_expiry(value)
* 如果value是个整数,session会在些秒数后失效。
* 如果value是个datatime或timedelta,session就会在这个时间后失效
* 如果value是0,用户关闭浏览器session就会失效。
* 如果value是None,session会依赖全局session失效策略。

       

Django基础之cookie与session的更多相关文章

  1. django基础 -- 8.cookie 和 session

    一. cookie 1.cookie 的原理 工作原理是:浏览器访问服务端,带着一个空的cookie,然后由服务器产生内容, 浏览器收到相应后保存在本地:当浏览器再次访问时,浏览器会自动带上Cooki ...

  2. {Django基础八之cookie和session}一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session

    Django基础八之cookie和session 本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx 七 ...

  3. 【python】-- Django 分页 、cookie、Session、CSRF

    Django  分页 .cookie.Session.CSRF 一.分页 分页功能在每个网站都是必要的,下面主要介绍两种分页方式: 1.Django内置分页 from django.shortcuts ...

  4. Django框架 之 Cookie、Session整理补充

    Django框架 之 Cookie.Session整理补充 浏览目录 Django实现的Cookie Django实现的Session 一.Django实现的Cookie 1.获取Cookie 1 2 ...

  5. Django框架 之 Cookie和Session初识

    Django框架 之 Cookie和Session初识 浏览目录 Cookie介绍 Django中的Cookie Session 一.Cookie介绍 1.Cookie产生的意义 众所周知,HTTP协 ...

  6. Django框架07 /cookie和session

    Django框架07 /cookie和session 目录 Django框架07 /cookie和session 1. django请求生命周期 2. cookie 3. session 4. 总结 ...

  7. Django:Admin,Cookie,Session

    一. Admin的配置 1.Admin基础设置 admin是django强大功能之一,它能够从数据库中读取数据,呈现在页面中,进行管理.默认情况下,它的功能已经非常强大,如果你不需要复杂的功能,它已经 ...

  8. Django中的cookie与session

    cookie与session的实现原理 HTTP被设计为”无状态”,每次请求都处于相同的空间中. 在一次请求和下一次请求之间没有任何状态保持,我们无法根据请求的任何方面(IP地址,用户代理等)来识别来 ...

  9. Django 中的 cookie 和 session

    一.cookie 由于HTTP协议是无状态的,而服务器端的业务必须是要有状态的.Cookie诞生的最初目的是为了存储web中的状态信息,以方便服务器端使用.比如判断用户是否是第一次访问网站.目前最新的 ...

随机推荐

  1. 求曲线y=lnx在区间(2,6)内的一条切线,使得该切线与直线x=2,x=6及曲线y=lnx所围成的图形的面积最小。

    求曲线y=lnx在区间(2,6)内的一条切线,使得该切线与直线x=2,x=6及曲线y=lnx所围成的图形的面积最小. 1.先画图. 2.设切点为(a,lna) (2<a<6) 3.切线方程 ...

  2. layui中富文本编辑器LayEdit的使用

    html部分: <textarea id="demo" style="display: none;"></textarea>js部分:& ...

  3. HDU - 3347 Calculate the expression — 模拟 + map存变量

    传送门 题意:从输入开始,1.输入样例数:2.然后输入一组样例中的行数n:3.前n-1行为定义变量(之间使用空格隔开),只需要map存进去就可以了(这里有覆盖的情况,故使用mp["s&quo ...

  4. Electron-Vue3-Vadmin后台系统|vite2+electron桌面端权限管理系统

    基于vite2.x+electron12桌面端后台管理系统Vite2ElectronVAdmin. 继上一次分享vite2整合electron搭建后台框架,这次带来的是最新开发的跨桌面中后台权限管理系 ...

  5. opencv——机器视觉检测和计数

    引言 在机器视觉中,有时需要对产品进行检测和计数.其难点无非是对于产品的图像分割. 由于之前网购的维生素片,有时候忘了今天有没有吃过,就想对瓶子里的药片计数...在学习opencv以后,希望实现对于维 ...

  6. 基于 el-form 封装一个依赖 json 动态渲染的表单控件

    nf-form 表单控件的功能 基于 el-form 封装了一个表单控件,包括表单的子控件. 既然要封装,那么就要完善一些,把能想到的功能都要实现出来,不想留遗憾. 毕竟UI库提供的功能都很强大了,不 ...

  7. C++ primer plus读书笔记——第11章 使用类

    第11章 使用类 1. 运算符重载是一种形式的C++多态. 2. 不要返回指向局部变量或临时对象的引用.函数执行完毕后,局部变量和临时对象将消失,引用将指向不存在的数据. 3. 运算符重载的格式如下: ...

  8. 深度理解Python迭代器

    迭代器 迭代是什么 迭代指的是一个重复的过程,每次重复都必须基于上一次的结果而继续,单纯的重复并不是迭代,如Python中的for循环就是一个非常好的迭代例子. for item in range(1 ...

  9. xxl-job源码阅读一(客户端)

    1.源码入口 使用xxl-job的时候,需要引入一个jar,然后还需要往Spring容器注入XxlJobSpringExecutor <dependency> <groupId> ...

  10. [笔记] 《c++ primer》显示器程序 Chapter7

    补充Sales_data没有体现出的其他类特性 Screen.h 1 #include <string> 2 #include <iostream> 3 4 class Scr ...