Django之cookie和session

Django学习第四天:操作SessionCookie、设置系统时间 Cookie主要用于存储一些简单的数据,在客户端(浏览器)存储,适合存储少量数据。Session存储在服务器端,更安全,适合存储敏感信息较大的数据。这两者可以根据具体需求一起使用,比如用Session保存用户登录信息,使用Cookie保存用户的偏好设置等。max_age:与时区无关,直接指定有效时间(单位:秒)。expires:是具体的过期时间,Django会将它自动转换为UTC时间来存储在Cookie中,因此你只需要注意设置正确的时间并考虑时区的影响(特别是当使用时)。 阅读详情

cookie和session

cookie:用来保存状态(保存服务端和客户端交互产生的数据)
当用户登录成功之后,服务端产生一个随机字符串交给客户端保存,在服务端保存数据
随机字符串:用户相关信息

什么是cookie:具体的一段信息,用来存储在浏览器上的键值对,下次访问浏览器时浏览器会自动携带这些键值对,方便服务器提取有用的信息.服务端保存在客服端浏览器上的信息都可以称之为cookie

session:数据是保存在服务端的并且也是键值对的形式

总结:
1.cookie就是保存在客服端浏览器上的信息
2.session是保存在服务端上的信息

cookie操作
虽然cookie是服务端保存给客户端的,但是客户端可以拒绝保存,如果禁止了,那么需要记录用户状态的网页都无法使用了.

视图函数的返回值

return HttpResponse()
return render()
return redirect()

obj = HttpResponse()

操作cookie

return obj

设置cookie

obj.set_cookie(key, value)

获取cookie

request.COOKIES.get(key)

用户在没有登录的情况下想要访问一个需要登录的页面,用个先跳转到登录页面,当用户输入正确的用户名和密码之后,应该跳转到之前用户访问的页面去,而不是写死到某个页面
在这里插入图片描述

设置超时时间
obj.set_cookie(key, value, max_age=5)
针对ie浏览器:
obj.set_cookie(key, value, expires=5)

注销cookie
delete_cookie(key)

session操作
sessionid:随机字符串
设置session:
request.session[key] = value
1.django内部会自动生成一个随机字符串
2.django内部自动将速记字符串和对应是数据存储到django_session表中
2.1先在内存中产生操作数据的缓存
2.2在响应结果django中间件的时候才真正的操作数据库
3.将产生的随机字符串返回给浏览器保存
获取session:
request.session.get(‘key’)
1.自动从浏览器请求中获取sessionid对应的随机字符串
2.拿着随机字符串去django_session表中查找对应的数据
3.如果比对上,则将对应的数据取出并以字典的形式封装到request.session中;如果对不上,则获取时返回的是None

django_session表中的数据条数取决于浏览器,同一个计算机上同一个浏览器只会有一条数据生效

session过期时间
request.session.set_expiry()
括号内可以放不同类型的参数:整数(多少秒过期),日期对象(到指定日期失效),0(一旦浏览器关闭就失效),不写(取决于django的默认失效时间)

注销session
request.session.delete()

中间件
1.请求来到时候先经过中间件才能到达django后端
2.响应走的时候经过中间件才能发送出去

自定义中间件是可以自定义的5个方法
必须要的:
1.process_request
请求来的时候需要经过每个中间件里的process_request,结果的顺序就是配置文件中中间件从上到下依次执行;如果中间件没有定义该方法,那么将直接跳过执行下一个中间件;如果该方法返回了HttpResponse对象,那么请求将不再继续往后执行,而是原路返回

2.process_response
响应走的时候需要经过每一个中间件里面的process_response方法,有额外的两个参数request和response;该方法必须返回一个HttpResponse对象,默认返回的就是形参response,也可以自定义返回自己的;顺序是按照配置中注册了的从下往上依次执行,如果没有定义,则直接跳过

了解:
3.process_view
路由匹配成功之后执行视图函数之前,会自动执行的方法,顺序是从上到下
4.process_template_response
只要是response方法,都需要加上response参数.返回的HttpResponse对象有render属性的时候才会触发,顺序是从下往上
(
obj = HttpResponse()
def render():
return HttpResponse()
obj.render = render
return obj
)
5.process_exception
当视图函数出现异常的情况下触发,顺序是从下往上

如何自定义中间件
1.在项目名或者应用名下创建一个任意名称的文件夹
2.在文件夹中创建一个任意名称的py文件
3.在该py文件中书写类(这个类必须继承
MiddlewareMixin),然后在类中可以定义以上5个方法
4.需要将类的路径以字符串的形式注册到settings.py中才能生效

ESD防护设计宝典(十九):元器件选型宝典——共模电感 然而,这位“大师”的脾气也颇为古怪,若设计者不解其性、用之不当,它非但不能抑制噪声,反而会引入信号完整性恶化、电源压降等新问题,甚至让您的系统EMC性能“雪上加霜”,导致项目在测试阶段功亏一篑。本文将带您深入共模电感的内在世界,从本质解析到参数详解,从设计陷阱到实战选型,全方位领悟其平衡艺术,掌握其应用核心,规避那些足以让项目翻车的致命陷阱。:这是存在于电路板内部的“家贼”。共模电感实质上是一个四端器件,它通过磁场的“加法”与“减法”运算,巧妙地实现了对共模噪声的抑制,同时为差模信号大开绿灯。 阅读详情

相关推荐

从原理到落地:Mamba-YOLOv8 全面实战指南(源码 + 训练 + 部署一次学会)

在目标检测领域,CNN与Transformer的较量从未停歇。本文提出一种革命性的架构——,将状态空间模型(SSM)首次引入YOLO框架。实验表明,该模型在COCO数据集上达到54.3% mAP@0.5,推理速度达89 FPS(RTX 4090),相比原版YOLOv8提升12.7%精度与23%速度。本文将完整揭示其技术原理与工程实现,助您掌握这一前沿技术。

FJN110的博客 85

Django(5)|Django中的cookiesession

作用是来获取用户存入的cookiesession信息,以此为依据,在用户进入其他页面时候,每次使用装饰器进行判断,如果用户是登录进来的,则可以访问,如果用户是直接输入的网址进入,则会返回至登录页面。由于http请求是无状态的,无法记录身份,所以需要一种机制能够长期的记录身份,最早出现的就是cookie。而cookie是由服务器下发给用户的,保存在用户的浏览器上面,用于校验身份的数据。写一个登出页面,目的是为了删除cookiesession的存储信息,使用户退出后,不可直接进入页面。

不愿意透露姓名的网友 2182

VB6.0局域网内传输文件的实例.rar

VB6.0局域网内传输文件的实例,基于点对点上传文件原理实现,可用于一个网段内同事之间的文件传输、包括图片的传输接受功能,类似于QQ,当然,本软件的目的是学习VB如何实现文件的上传接收,并不是要实际应用于工作中,学习是第一位的。

Django-cookiesession

Cookie 是由服务器发送到用户浏览器的小文件,用于存储用户的相关信息。每次用户访问网站时,浏览器会将这些 cookie 发送回服务器特点: 1 . 数据存储在客户端,大小通常限制在 4KB 2 . 过期时间可以设置,默认是会话级别 3 . 用户可以手动删除 cookie

weixin_42695345的博客 1194

Django cookie&session - 让浏览器记住你哦

另外,上述所说的CookieSession其实是共通性的东西,不限于语言框架。

YLF123456789000的博客 636

DjangoCookieSession

Django里面,使用CookieSession看起来好像是一样的,使用的方式都是request.COOKIES[XXX]request.session[XXX],其中XXX是您想要取得的东西的key,但是这两者的原理实现方式确是非常的不同。      首先介绍Cookie,只要是HTTP协议,就会有COOKIE这个东西; 只要您的浏览器没有禁用Cookie,就  可是使用它。而且

★云端的梦★ 6227

Django中的CookieSession

cookiesession都是一种存储少量数据的技术,用来记录客户端的访问状态,区别在于一个存储在客户端,一个存储在服务器端。创建Session并生成ID:用户访问网站时,服务器为用户创建一个Session,并生成一个唯一的Session ID。还有两项有关session比较重要的设置: 1、SESSION_COOKIE_AGE:以秒为单位,session的有效时间,可以通过。服务器验证与处理:服务器通过请求中的Cookie验证Session ID,找到对应的Session对象,并据此处理用户的请求。

m0_66925868的博客 1032

Djangocookiesession

一、Cookie cookie及特点 Cookie是由服务器(网站)生成的,存储在浏览器端的键值对数据(通常经过加密) 在响应请求时,服务器会把生成Cookie数据发给浏览器,浏览器会自动保存(前提:浏览器开启了cookie功能) 浏览器请求服务器(网站)时,会自动上传该服务器(网站)生成的所有Cookie Cookie基于域名安全的。每个网站只能访问到自己生成的...

qq_33774445的博客 208

Django cookiesession

CookiesSession就是为了保持会话状态而诞生的两个存储技术cookies是保存在客户端浏览器上的存储空间Chrome 浏览器 可能通过开发者工具的 >> >> 查看操作浏览器端所有的 Cookies 值火狐浏览器 可能通过开发者工具的 存储 -> Cookiecookies 在浏览器上是以键-值对的形式进行存储的,键值都是以ASCII字符串的形存储(不能是中文字符串)cookies中的数据是按域存储隔离的,不同的域之间无法访问cookies 的内部的数据会在每次访问此网址时都会携带到服

weixin_45185267的博客 1万+

Django学习之CookieSession

一、Cookie 1.Cookie的由来 2.什么是Cookie 3.Cookie的原理 4.查看Cookie 二、Django中操作Cookie 1.获取Cookie 2.设置Cookie 3.删除Cookie 4.Cookie版登陆校验 三、Session 1.Session的由来 2.Session流程解析 四、Django...

weixin_30393907的博客 130

Django CookieSession

cookieCookie是服务器发送到用户浏览器并保存在浏览器上的一块数据他会在浏览器下一次向服务器发送请求时被携带并发送到服务器上sessionSession是另一种保存用户数据的方法,但数据是保存到服务器端的Session通过生成一种叫做Session ID的唯一标识符,保存在cookie中或者通过URL传递,以便在多个请求中可以识别跟踪用户。

weixin_48183870的博客 1520

DjangoCookieSession学习

django中的session默认情况下是存储在服务器的数据库中的,在表中会根据sessionid来提取指定的session数据,然后再把这个sessionid放到cookie中发送给浏览器存储,浏览器下次在向服务器发送请求的时候会自动的把所有cookie信息都发送给服务器,服务器再从cookie中获取sessionid,然后再从数据库中获取session数据。但是我们在操作session的时候,这些细节压根就不用管。设置cookie是设置值给浏览器的。

small__fat的博客 331

Django5入门教程-CookieSession

cookie:在网站中,http请求是无状态的。也就是说即使第一次服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。cookie的出现就是为了解决这个问题,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地,当该用户发送第二次请求的时候,就会自动的把上次请求存储的cookie数据自动的携带给服务器,服务器通过浏览器携带的数据就能判断当前用户是哪个了。cookie存储的数据量有限,不同的浏览器有不同的存储大小,但一般不超过4KB。因此使用cookie

u013342594的博客 2051

八、djangocookiesession

简介 早起的web应用都相对简单只是简单的展示内容,无需记录用户的状态信息(例如登录状态等),后面随着web应用的发展web应用出现了获取用户状态信息等需求。 以用户登录状态为例,博客的收藏文档需要登录认证才会展现用户自己的收藏文档,那么就需要用户输入账号密码,但是频繁的输入账号密码会影响用户的体验,因此诞生了一次认证,多次使用的需求。 解决思路大体是服务端认证成功后,随机生成字符串,交给浏览器;之后浏览器访问带上这个字符串交由服务端认证,认证通过则判定为已登录状态。 cookiesession就是具体的

weixin_42155272的博客 696

Django中的cookiesession

“”" 1,cookie由服务器生成,保存在浏览器中,cookie就是一段文本信息 2,cookie特点 (1)以键值对方式进行存储 (2)通过浏览器访问一个网站时,会将浏览器存储的相关网站所有的cookie 都发送给该网站服务器,用request。COOKIES来获取 (3)cookie是基于域名安全的 (4)cookie是有过期时间的,如果不指定时间默认关闭浏览器失效 设置时间 max_age...

小小争520 1302

Django框架之CookieSession

1 网站都没有保存用户功能的需求,所有用户访问返回的结果都是一样的例如新闻、博客、文章...2 出现了一些需要保存用户信息的网站例如京东、淘宝、天猫...3 以登录功能为例:如果不保存用户登录状态,也就意味着用户每次访问网站都需要重复的输入用户名密码这对用户来说,体验感极差解决办法:当用户第一次登陆成功之后,将用户的用户名密码返回给用户浏览器,让用户浏览器保存在本地之后访问网站的时候浏览器自动将保存在本地的用户名密码发送给服务端,服务端获取之后自动验证。

qq_53842456的博客 564

Django基础入门⑬:CookieSession详讲Django HTML表单实战讲解

Session 又名会话控制,它的根本作用是在服务器上开辟一段空间用于保留浏览器服务器交互时的会话信息。它代表服务器与浏览器的一次会话过程,这个过程是连续的,也可以是时断时续的。Session 是一种服务器端的机制,Session 对象用来存储特定用户会话所需的信息。Session 由服务端生成,并且保存在服务器端的内存或者缓存中,也可以是硬盘或数据库中。📌提示使用 Session 需要在浏览器客户端中启动 Cookie,且需要使用 Cookie 中存储 Sessionid。

weixin_50804299的博客 1万+

Django8—cookiesession

文章目录cookiesessiondjango中操作cookiesession操作cookie设置cookie删除cookie获取cookie操作session 参考文章:关于cookiesession、token更多的介绍 cookiesession cookie:在网站中,http请求是无状态的。也就是说即使第一次服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。cookie的出现就是为了解决这个问题,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏

qq_36581961的博客 206

DjangoSessionCookie

文章目录1、SessionCookie的关系是什么?1.1、sessioncookie的区别2、cookie操作3、Session操作 1、SessionCookie的关系是什么? Session是基于Cookie, 是因为把数据写入session时将会生成一个随机字符串并将随机字符串存入cookie。 读取时,是先从cookie中获取这个随机字符串,再根据这个随机字符串,去服务器数据库获...

这里的分享,都是干货 268
上一篇: Django的forms组件
下一篇: 基于spring boot的漫画之家系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力学习的小初雪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值