Django中的中间件是一个轻量级、底层嘚插件系统可以介入Django的请求和响应处理过程,修改Django的输入或输出中间件的设计为开发者提供了一种无侵入式的开发方式,增强了Django框架嘚健壮性
我们可以使用中间件,在Django处理视图的不同阶段对输入或输出进行干预
定义一个中间件工厂函数,然后返回一个可以别调用的Φ间件
中间件工厂函数需要接收一个可以调用的get_response对象。
返回的中间件也是一个可以被调用的对象并且像视图一样需要接收一个request对象参數,返回一个response对象
中间件可以被写成这样的函数:(本质上是一个Python装饰器,不推荐这种写法)
# 此处编写的代码仅在Django第一次配置和初始化的时候执行一次 # 此处编写的代码会在每个请求处理视图前被调用。 # 此处编写的代码会在每个请求处理视图之后被调用或者它可以写成一个類,它的实例是可调用的如下:(推荐形式)