DjangoCookie&Session

一、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数据库中查询数据
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Web框架之Django: (1)简介: Django是一个由Python写成开源的重量级Web应用框架,采用MT...
    老肖阅读 3,104评论 0 18
  • 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Se...
    chinariver阅读 5,711评论 1 49
  • 目录Cookie机制什么是CookieCookie的不可跨域名性Unicode编码:保存中文BASE64编码:保存...
    Tomatoro阅读 16,999评论 7 186
  • 你在自甘堕落的时候,全世界都在昼夜狂欢,你在抑郁孤独的时候,你的前任和讨厌的人都在努力赚大钱吃美食找新欢,你在怀念...
    斯洛克_阅读 367评论 0 0
  • 陈九见她哭赶紧哄她:“好好好,我赔可我一个穷叫花子,什么都没有啊?”“那你一直陪着我好不好”,我长这么大,第一次出...
    沙二七阅读 483评论 0 1