首页 > 其他 > 详细

Django之Cookie

时间:2016-08-31 15:46:02      阅读:176      评论:0      收藏:0      [点我收藏+]

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 hasnt 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:‘/‘});

 

Django之Cookie

原文:http://www.cnblogs.com/wuyongcong/p/5825984.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!