Day71 分页,cookie and Session
cookie 是保存在客户端的键值对.
cookie本身最大支持4096字节,保存在客户端的
session是保存在服务器端的键值对.(依赖cookie)

cookie和session
cookie的由来?
因为http请求是没有状态的,每一次请求都是独立的(对于服务端来说,一切都是只如初见!)
cookie 是什么?
就是保存在浏览器上的键值对。
cookie的应用
1.登录、七天免登录
2. 记录用户的浏览习惯.
3.简单的投票限制。





cookie 默认关闭浏览器 就消失了。。。

session
session是什么 ?
是保存在服务器端的键值对.
session 必须依赖于cookie
Django中session 做的事情:
1. 在服务器端生成随机字符串
2.生成一个和上面随机字符串对应的大字典,用来保留用户数据的。
3. 随机字符串当成Cookie返回给浏览器
取Session:
1. 从请求携带的COOKIE里面找到随机字符串.
2. 拿到随机字符串 去session 中对应的大字典.
3.从大字典中根据key 取值.
session 的优势
1. 比cookie能存的数据多。
2. 安全性好 ,数据都保存在服务端。
session的缺点
1.session 数据量大,会占用一些内存.







获取cookie
request.COOKIES['key']
request.get_signed_cookie(key, default=RAISE_ERROR, salt='', max_age=None)
参数:
- default: 默认值
- salt: 加密盐
- max_age: 后台控制过期时间
设置Cookie
rep = HttpResponse(...)
rep = render(request, ...) rep.set_cookie(key,value,...)
rep.set_signed_cookie(key,value,salt='加密盐',...)
删除cookie
def logout(request):
rep = redirect("/login/")
rep.delete_cookie("user") # 删除用户浏览器上之前设置的usercookie值
return rep
例子
def login(request):
if request.method=='POST':
user = request.POST.get('username')
print(user)
pwd =request.POST.get('pwd')
if user =='alex' and pwd =='dsb':
#登录成功
#告诉浏览器保存一个键值对
rep =redirect('/home/')
print(rep)
# rep.set_cookie('is_login',1)
rep.set_signed_cookie(' ','1',salt='s10nb') #加盐的cookie
return rep
return render(request,'login.html') def home(request):
#从请求的cookie中找
# ret =request.COOKIES.get('is_login',0)
ret=request.get_signed_cookie('is_login',default='0',salt='s10nb')#取加过盐的cookie
if ret =='1' :
#表示已经登录过了。
return render(request,'home.html')
else:
return redirect('/login/')


Cookie默认关闭浏览器就失效
三、session
Day71 分页,cookie and Session的更多相关文章
- 6月25日 Django 分页 cookie、session
cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...
- Python学习(三十六)—— Cookie、Session和自定义分页
一.Django中操作Cookie 获取Cookie request.COOKIES['key'] request.get_signed_cookie(key, default=RAISE_ERROR ...
- Django框架详细介绍---cookie、session、自定义分页
1.cookie 在HTTP协议介绍中提到,该协议是无状态的,也就是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的 ...
- Cookie、Session和自定义分页
一.cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响, ...
- 自定义分页及Cookie、Session机制
分页 自定义分页 data = [] , ): tmp = {"id": i, "name": "alex-{}".format(i)} d ...
- python自动化开发-[第十九天]-分页,cookie,session
今日概要: 1.cookie和session 2.csrf 跨站请求伪造 3.自定义分页 一.上节回顾: http请求的本质: - Http请求本质 浏览器(socket客户端): 2. socket ...
- Django - Cookie、Session、自定义分页和Django分页器
2. 今日内容 https://www.cnblogs.com/liwenzhou/p/8343243.html 1. Cookie和Session 1. Cookie 服务端: 1. 生成字符串 2 ...
- django基础之Ajax、分页、cookie与session
目录: Ajax之json Ajax简介 jquery实现的ajax js实现的ajax django分页器 COOKIE与SESSION 一.Ajax之json 1.什么是json? 定义: JSO ...
- cookie、session、分页
一.cookie HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情 ...
随机推荐
- 源码安装php时出现configure: error: xml2-config not found. Please check your libxml2 installation
1.检查是否安装了libxml 包 > rpm -qa|grep libxml2 2.如果没有则安装 > yum install libxml2 > yum install libx ...
- C#中int? 转换为 int 型
用 “ var a= zongfen.Score;”
- 大乐透 Java随机码
package suijishu; import java.util.Random; // TODO Auto-generated method stub public class Xuanqi { ...
- iOS.Book.Effective Objective-C 2.0
1. 中文翻译版 (更新中) https://github.com/HagerHu/effective-objective-c-2.0 2. Book的主页 和 代码主页 http://www.eff ...
- OpenSCManager
添加服务程序 执行级别:必须管理员
- jQuery 用$.param(json) 将 Json 转换为 Url queryString
如: var params = { param1: 'bar', param2: 'foo' }; var queryString = $.param(params); // queryString ...
- 并发编程(三)Promise, Future 和 Callback
并发编程(三)Promise, Future 和 Callback 异步操作的有两个经典接口:Future 和 Promise,其中的 Future 表示一个可能还没有实际完成的异步任务的结果,针对这 ...
- 2018.10.15 loj#6013. 「网络流 24 题」负载平衡(费用流)
传送门 费用流sb题. 直接从sss向每个点连边,容量为现有物品量. 然后从ttt向每个点连边,容量为最后库存量. 由于两个点之间可以互相任意运送物品,因此相邻的直接连infinfinf的边就行了. ...
- 201.09.22 除虫药水(线性dp)
描述 在十年前,除虫是十分艰苦的工作.那时,使用普通药水进行除虫的效果极差,在一片苹果 林中使用后除掉的虫仅为极小一部分. 比如说,Bugs 镇共有 N 片苹果林,对第i 片使用普通药水可以除掉 ai ...
- 2018.07.01洛谷P2617 Dynamic Rankings(带修主席树)
P2617 Dynamic Rankings 题目描述 给定一个含有n个数的序列a[1],a[2],a[3]--a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i ...
