16Django之cookies
原创
©著作权归作者所有:来自51CTO博客作者wx5d4124a358e8a的原创作品,请联系作者获取转载授权,否则将追究法律责任
用户输入用户名密码点击登录按钮后,浏览器会把用户名和密码通过http传给后端,服务器拿到用户名和密码之后,肯定时要做数据层面的验证:
1验证有没有这个用户
2验证你的密码是否正确
如果验证成功,那么此时后端就会给客户端发送一个凭证。这个凭证的作用是:当客户端再次发起登录请求的时候,我要知道他之前是否来过。
设置cookies:
设置cookie的方法是把当前请求的响应拿出来调用cookie:
HttpResponse.set_cookie(key, value='', max_age=Npne, expires=None)
解释:
key:cookie的名字
value:cookie的值
max_age:cookie的存活时间,单位是秒
expires:cookie的具体过期时间
当不指定max_age和expires时,关闭浏览器时cookie失效
获取cookies:
后端获取客户端cookies数据的方法时使用request.COOKIES.get(‘cookies名’,‘默认值’)
#获取浏览器my_var变量的值:
value = request.COOKIES.get('my_var','没有值')
print("cookie my_var=",value)
return HttpResponse("my_var:" + value)
删除cookies:
删除指定的key的cookie的方法如下,如果key不存在,则什么也不发生
HttpResponse.delete_cookie(key)
#删除浏览器键为my_var的cookie
responds = HttpResponse("已删除my_var")
respondes.delete_cookie('my_var')
return responds