django默认有七个中间件 并且支持用户自定义自己的中间件
1 django暴露给用户五个可以自定义的方法
需要掌握的
process_request
1.请求来的时候 会按照settings配置文件中从上往下的顺序依次执行每一个中间件里面的该方法
2.中间件里面如果没有定义该方法 直接跳过执行下一个
3.该方法内如果你自己返回了HttpResponse对象 那么不再往后执行 直接跳到同级别的process_response方法
process_response
1.响应走的时候 会按照settings配置文件中从下往上的顺序依次执行每一个中间件里面的该方法
2.该方法必须将形参response返回
3.如果没有定义该方法 直接跳过执行下一个
需要了解的
process_view
当路由匹配成功之后执行视图函数之前
process_exception
当视图函数中出现bug的时候 自动触发
process_template_response
返回的对象中 必须含有render方法 才会触发
2.如何自定义
1 新建一个专门用来存放中间件的文件夹 里面新建任何名称的py文件
在该文件中 需要写类并继承MiddleMixin
class MyMiddle(MiddleMixin):
# 自定义上面的五个方法
2 需要在setting配置文件中注册你写的中间件
需要你自己手动书写字符串的路径 写到类名为止