django的session使用,django 设置cookie
本文主要介绍Django框架cookie和会话参数的设置和介绍。有需要的朋友可以借鉴一下,希望能有所帮助。祝大家进步很大,早日升职加薪。
00-1010 1.cookie和Sessions的介绍1.1 cookie的介绍1.2 cookie的缺陷1.3 Sessions的介绍1.4 Sessions和cookie的区别2。设置cookie2.1设置Cookies 2.2获取cookie2.3删除cookie2.4设置过期时间和加盐2.5 cookie 3的其他参数。设置会话3.1设置、修改和删除会话的其他方法3.2会话3.3会话的其他配置(在配置文件中)
目录
1. cookie和session介绍
Cookie是指一些网站为了识别用户而存储在用户客户端的数据(通常是加密的)。它是由网景公司的前雇员Lou Monterey于1993年3月发明的。
cookie存储在客户端,根据在客户端的存储位置可以分为内存cookie和硬盘cookie。
因为HTTP协议是无状态的,即服务器不知道用户上次做了什么,这严重阻碍了交互式Web应用(购物网站)的实现。在典型的网上购物场景中,用户浏览几个页面并购买一些东西。最后,由于HTTP的无状态特性,在没有额外手段的情况下,服务器并不确切知道用户买了什么,所以Cookie是用来规避HTTP无状态特性的“额外手段”之一。服务器可以设置或读取Cookie中包含的信息,从而维护用户和服务器之间的会话状态。
Cookie不仅可以记录以前的历史,还可以用来识别用户。
1.1 cookie 简介
每一个HTTP请求都会附带Cookie,所以无形中增加了流量。因为HTTP请求中的Cookie是以明文形式传递的,所以除非使用超文本传输安全协议,否则安全性就会成为一个问题。Cookie的大小限制在4 KB左右,对于复杂的存储需求来说是不够的。
1.2 cookie的缺陷
Session: Session是一个持久的网络协议,用来完成服务器和客户端之间的一些交互行为。会话是一个比连接粒度更大的概念。一个会话可以包含多个连接,每个连接都被视为会话的一个操作。
在Web中,会话是指用户与网站服务器之间一系列交互的持续时间,通常是指从注册进入系统到退出系统所经过的时间,以及在此期间进行的操作。此外,服务器为保存用户状态而开放的存储空间。
1.3 session简介
Cookie以文本文件格式存储在浏览器中,而会话存储在服务器中。
cookie的存储限制了数据量,只允许4KB,而会话是无限的。
Cookie包含在每个客户端请求消息中,因此很容易被捕获。
cookie和会话都可以设置过期时间。
1.4 session与cookie的区别
2. 设置cookie
HTML :
!声明文档类型
html lang=en
头
元字符集
="UTF-8">
<title>Title</title>
<script src="/static/bootstrap-3.4.1-dist/js/bootstrap.min.js"></script>
<script src="/static/bootstrap-3.4.1-dist/js/jquery-3.6.0.min.js"></script>
<link rel="stylesheet" href="/static/bootstrap-3.4.1-dist/css/bootstrap.min.css" rel="external nofollow" rel="external nofollow" >
</head>
<body>
<p>
<h1>Set Cookie OK</h1>
</p>
</body>
</html>
views.py
代码
from django.shortcuts import render, HttpResponse
urls.py
代码
from django.contrib import admin
2.2 获取cookie
views.py
from django.shortcuts import render, HttpResponse
2.3 删除cookie
views.py
from django.shortcuts import render, HttpResponse
测试流程:
1. 先访问 set_cookie设置cookie
2. 访问 get_cookie获取cookie:Name:Hello和"is_cookis", True
3. 访问 del_cookie 删除is_cookis
4. 最后再访问 get_cookie 获取cookie, 发现只有Name Hello,is_cookis的值为:None
2.4 设置过期时间和加盐
cookie的过期时间,如果不写,关闭浏览器,cookie就失效了
obj.set_cookie('key','value')
也可以设置过期时间:
obj.set_cookie('key','value',expires=10)
设置10s过期
对cookie进行加盐
obj.set_signed_cookie('nb','yes','123',expires=1000)
获取加盐的cookie
nb=request.get_signed_cookie('nb',salt='123')
2.5 cookie的其他参数
key, 键
3. 设置 session
3.1 设置,修改,删除session
搭建一个简单的网站,必须要登录才可以访问。
HTML
代码:
index.html
<!DOCTYPE html>
login.html
<!DOCTYPE html>
delete.html
<!DOCTYPE html>
后端代码:
views.py
代码
from django.shortcuts import render, HttpResponse, redirect
路由urls.py
from django.contrib import admin
3.2 session的其他方法
设置Session数据
3.3 session的其他配置(配置文件中)
1. 数据库Session
以上就是Django框架cookie和session简介及参数设置的详细内容,更多关于Django框架cookie和session的资料请关注盛行IT软件开发工作室其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。