一、Cookie
1.1 cookie简介
在浏览器等客户端开启了cookie时,会将cookie以key/value的形式保存到浏览器中,即具体的路径中,为了安全起见,cookie中最好不要储存敏感的密码,他仅仅是一段文本信息。cookie是域名安全的,不同的域名是不能够共享同一个cookie。最常用的就是储存用户名。
1.2 cookie的设置
通过response来进行设置cookie
response = HttpResponse('设置cookie')
response.set_cookie('name', 'xiaomingtongxue') # 临时cookie
response.set_cookie('age', '23', max_age=60) # max_age设置有效期,单位:秒
1.3 cookie的获取
通过request获取cookie
request.COOKIES.get('name') >> 'xiaomingtongxue'
二、Session
在redis数据库中查询数据2.1 session简介
session储存在服务器中,其在浏览器客户端中也有一个键相对应,即一个key(并不是真正的数据)。而存在于服务器中的则是真正的数据。
在redis数据库中存在的形式:sessionid >>
:1:django.contrib.sessions.cache7kgfbgarg3pjbv8z9zpu92nbdxqcbn42
get :1:django.contrib.sessions.cache7kgfbgarg3pjbv8z9zpu92nbdxqcbn42(见下图)
2.2 Django中的session
Django默认开启session,session的储存方式有很多种,一般使用第三方扩展django-redis来进行储存在redis中,redis性能极高。还需要在Django的配置文件中设置使用redis数据库来进行储存session。
2.3 session的操作
2.3.1 request.session['name'] = 'xiaomingtongxue' >> 设置session
2.3.2 request.session.get('name') >> 获取session >> xiaomingtongxue
2.3.3 request.session.clear() >> 删除所有session的数据,键值对
2.3.4 request.session.flush() >> 删除所有session的数据及sessionid
2.3.5 del request.session['name'] >> 删除指定的键值对数据
2.3.6 request.session.set_espiry(num) >> 设置有效期
0:用户关闭浏览器时删除数据;
None:默认是两周;
还可以通过Django的setting.py配置文件进行设置:SESSION_COOKIE_AGE
网友评论