中间件
什么是中间价?
是帮助我们在视图函数执行之前和执行之后都可以做一些额外的操作,它本质上就是一个自定义类,类中定义了几个方法,Django框架会在请求的特定的时间去执行这些方法。
我们一直都在使用中间件,只是没有注意到而已,打开Django项目的Settings.py文件,看到的MIDDLEWARE配置项。
MIDDLEWARE配置项是一个列表,列表中是一个个字符串,这些字符串其实是一个个类,也就是一个个中间件。
django请求的生命周期
django请求完整的生命周期:浏览器先发一个请求,先走wsgi,他按照http协议解析一个收发消息,然后走requestMiddles,如果这些中间件都返回none,就继续往后走,如果返回响应,就走response,然后再url.py文件里找用户访问的路径,拿到视图函数后,走viewMiddle中间件,如果还是都返回none,就执行真正的视图函数,然后走models.py,往数据库里写数据,拿到数据之后,就可以去template去渲染页面了,然后就是生成响应对象了,又通过试图函数里的return返回,然后走ResponseMiddles中间件。如果说在视图函数中有异常,就走exceptionMiddle中间件,然后交给ResponseMiddle。 请求级别的异常处理直接交给ResponseMiddle。