django的session使用,django 设置cookie

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: