美文网首页python
DjangoCookie&Session

DjangoCookie&Session

作者: 小铭灬同学 | 来源:发表于2018-07-07 11:23 被阅读0次

    一、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

    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

    在redis数据库中查询数据

    相关文章

      网友评论

        本文标题:DjangoCookie&Session

        本文链接:https://www.haomeiwen.com/subject/yeaiuftx.html