Django之Cookie

自古美人都是妖i 提交于 2020-02-12 23:37:09

Cookie

在浏览器端(客户端)保存的键值对,特性:每次http请求都会携带.           举个例子:{"name":身份证号}

 

1丶获取cookie

request.COOKIE['key']
request.get_signed_cookie(key,default=RAISE_ERROR,salt='',max_age=None)
    参数:
        default:默认值
        salt:加密盐
        max_age:后台控制过期时间

2丶设置Cookie

 

def cook2(request):
    prnt(request.COOKIES)
    #print(request.get_signed_cookie('k2',None,salt='uuu'))
    #rep = HttpResponse('ok')
    #rep.set_cookie('k1',123)
    #rep.set_signed_cookie('k2',666,salt='uuu')
    rep = HttpResponse('ok')
    return rep

 

3丶Cookie的参数

rep.set_cookie(key,value,...)
rep.set_signed_cookie(key,value,salt='加密盐',...)
    参数:
        key,            键
        value='',     值
        max_age=None,       超时时间, 单位是秒
        expires=None,          超时时间(IE requires expires,so set it if hasn't been already.)支持datetime,时间戳time.time这两种
        path='/',                Cookie生效的路径,/ 表示跟路径,特殊的:根路径的cookie可以被任何url的页面访问
        domain=None,      Cookie生效的域名
        secure=False,       https传输
        httponly=False     只能http协议传输,无法被JavaScript获取(不是绝对的,底层抓包可以获取到也可以被覆盖)

例子:

def cook1(request):
    #print(request.COOKIES)   #获取所有的Cookie
    #print(request.get_signed_cookie('k2',None,salt='uuu'))
    #rep = HttpResponse('ok')
    #rep.set_cookie('k1',123)          #设置Cookie
    #rep.set_signed_cookie('k2',666,salt='uuu')    #签名的cookie,salt为加密盐
    rep = HttpResponse('cook1')
    rep.set_cookie('k999',123,path='/cookie1/')    #path是cookie生效的路径(局部的);/表示根路径,特殊的;根路径的cookie可以被任何url的页面访问
    rep.set_cookie('k888',123)    #全局的cookie
    return rep

由于cookie保存在客户端的电脑上,所以,JavaScript和Jquery也可以操作cookie.

<script src='/static/js/jquery.cookie.js'></script>

$.cookie('list_pager_num',30,{path:'/'});

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!