0
点赞
收藏
分享

微信扫一扫

django5.3 cookies和session

七公子706 2022-01-17 阅读 48

django: cookies和session

cookies和session:为了保持会话状态的两种存储技术。

  1. cookies:
    保存在客户端浏览器的存储空间上,在浏览器上以键值对的形式进行存储,键和值都是以ascii字符串的形式存储,存储的数据带有生命周期。
    cookies中的数据是按照域(地址栏里的域名)来存储隔离的,不同的域之间无法访问。
    cookies的内部的数据会在每次访问此网址的时候都会携带到服务器端,如果cookies过大会降低响应速度。

         存储cookies:HttpResponse.set_cookie(key,value='',max_age=None,expirs=None)
         删除cookies:HttpResponse.delete_cookie(key):删除指定的key的cookie,若key不存在则什么也不发生
         获取cookies:通过request.COOKIES绑定的字典(dict)获取客户端的COOKIES数据:value=request.COOKIES.get('cookies名','默认值')
    
  2. session:
    把所有的状态数据保存在服务器上。
    客户端访问服务器时,服务器会创建为每个客户端传建一个独立的session,并把sessionID发送给客户端,客户端浏览器将sessionID保存在自己的cookies中,之后当浏览器访问服务器时,服务器就会检查传上来的cookies中的sessionID。因此使用session时需要在浏览器客户端启动cookie。
    对session的操作类似于字典:

    	保存session的值到服务器:request.session['KEY']=VALUE;
        获取session的值:value=request.session.get('KEY',默认值);
        删除:del request.session['KEY']
    

Django中的session数据存储在数据库中,django_session表是单表设计,且该表数据量持续增加。session数据过多时,可以使用python manage.py clearsessions 删除过期的数据。

举报

相关推荐

0 条评论