今天学的是cookie与session原理
出现这些东西完全是人类的需求,英文html协议里有一条叫做无状态,无状态是什么意思,就是不记住用户的状态,那么如果遇到和钱有关的网页一定会出现一些大问题,因此我们用这项技术来保存客户的状态
cookie
是保存在客户端浏览器上的键值对
cookie是由服务器端设置的
而且浏览器由权力阻止cookie的写入
django通过三板斧操作cookie
首先我们用obj.set_cookie指令指定一个键值对,这样就能生成cookie了
那么获取cookie可以用request.COOKIES.get指令 这个指令我们在之后写装饰器也得用到,记清楚了!
差点忘了说设定cookie的时候可以顺便设定时间存在时间的
数字的单位是秒
session和cookie类似 是保存在服务器上的键值对
session的工作机制还是要依赖于cookie的
首先我们设置session
用request.session['k1']='v1'
这一句话帮我做了很多事情,,首先在内部帮我调用算法生成了一个随机的字符串,然后再django_session添加加密数据,最后把随机产生的字符串传给浏览器保存
获取 以及 删除
用的是request.session.get 或者delete
request.session.set_expiry(时间)
django默认有七个中间件
如果你想对网站做一些全局性的事情,可以使用中间件
比如登陆校验之类的..
小tips 如果对象是字符串那就用到反射
如果对象是全局那就用中间件
process_request可以完成所有的自定义方法,请求来的时候会按照settings配置文件种从上往下的顺序执行,然后如果返回了httpresponse,那么会立马回退,不往后执行了