【Python web 开发】django 从请求到响应经历了什么?

setting中注册的middleware会将用户request的数据经过这些middlware中有process_request方法和process_response方法注册进入。

当用户的request进入view之前会将这些process_request通通调用一遍

如果用户post过来的是session_id那么我们的session middleware就会起作用。

会执行上面代码从request.cookies中获取到setting中设置的SESSION_COOKIE_NAME
这里仅仅是完成了把session放入request。

这里的middleware和scrapy中的middlware是一样的

 解读:

1、浏览器发起一个http 的请求,http 请求会通过Python的handler 序列化出一个httprequest 对象

2、经过request 的middleware(这些middleware就是我们seeting 里面设置的middleware)

3、只有重载了process_request才叫做 request middleware

这里面我们不一定只加工传过来的request,也可以直接返回,这话情况会直接返回,不会进入view 中

全局拦截器,拦截用户的浏览器是否是chrome 浏览器 就可以在middleware 里面判断浏览器的版本或者型号是否是chome ,不是的话 就直接rerurn response

。。。。

猜你喜欢

转载自www.cnblogs.com/yuanyuan2017/p/10049268.html
今日推荐