django的session机制

每个网站都有一个机制,当你登陆后,可能几分钟,可能一个星期,你浏览该网站后自动登陆,另外若没有session 那么加入一个人没有登陆便可以根据url访问一些私密性的网页,

 session是基于cookie完成的一个动作,那么cookie是什么,cookie可以理解为保存在浏览器上的字符串,例如当用户将登陆请求发送到服务端,服务器会生成cookie 并且可以设置cookie的生存时间,并将其发送到浏览器上,之后用户访问网页将会携带cookie便于服务器识别身份

接下来主要说一下session的用法,session我理解为是cookie的加强版,session是保存在服务器端的数据,请求过程为;

     1: 当用户登陆请求,服务器生成cookie发送到用户端,并且在服务器端保留一份

     2: 可以设置session中存储的用户的数据;

     3: 设置session的生存周期

     意思就是当用户登陆过后,再次发来请求,若携带的cookie与服务器端的cookie相同,那么就可以辨别出他的身份,session中存储的数据就可以作响应操作

     views.py

          r= request.POST.get("name")

          request.session['name'] = r                          这一句将生成一对字符串  在返回i页面时,将会把一个字符串多为cookie传到浏览器端, 并将POST过来的name中的值r存储到session的键对中

          request.session.set_expiry(10)                   这一句将session的生存周期设置为10秒

 

    根据cookie判断用户是否登陆:

        v = request.session.get('name')                    这一句将请求的cookie与服务端的作比较,若匹配就可以提取相应,此处将key name取出来, v就是name对应的值,

        if v:                                                                if v 若为真说明v里面有相应的值,则可以做相应操作。

             则作响应操作

        else:

              可以作响应操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值