Http是一个无状态的协议,并不能记录用户的状态,比如在登录后,浏览器一关闭再进入网站,这时候用户的登录状态就丢失了,一些网站,当登录后关闭浏览器再打开登录状态还在,这就是状态保持,我们需要保存用户的状态怎么办?cookie就是一种保持用户状态的变量,他是存在用户的浏览器上。
cookie的特点
1.以键值对进行存储
2.浏览器访问一个网站是,会将浏览器存储的跟网站相关的所以的cookie信息发给该网站的服务器。request.COOKIES
3.cookies是基于域名安全的
4.cookie 是有过期时间的,如果不指定,cookie在关闭浏览器时就会默认失效
cookie的设定
cookie的设定通过​​​HttpResponse​​​类的​​set_cookie​​​方法进行设定:
在视图函数中进行设定:

def set_cookie(request):
response=HttpResponse('设置cookie')
#设置cookie信息,名字为num值为1
response.set_cookie('num',1)
return response

访问页面可以看见响应:

django学习笔记013-cookie状态保持_取值

可以看见服务端想浏览器发送了一个set-cookie的命令

cookie的取值

因为浏览器在访问网站的服务器时把该网站相关的cookie全部发送给服务器,所以在服务端可以获取到浏览器的cookie

通过​​request.COOKIES['xxx']​​进行获取浏览器的cookie:

def get_cookie(request):
num=request.COOKIES['num']
return HttpResponse(num)