文章目录
第一种方式:函数方式
函数方式定义中间件
1.根目录新建mymiddleware目录(中间件都保存在这个目录下),创建个middleware.py文件写入以下内容
def middleware_name(get_response): # middleware_name:中间件的名字 # get_response:Django的固定写法和类的self或者视图函数的request类似 def middleware(request): print('执行这里了') # 在这里可以对request进行一些操作 response = get_response(request) return response # 最后要返回这个函数 return middleware
![]()
2.在settings.py中注册中间件
![]()
3.启动项目访问http://127.0.0.1:8000/查看控制台输出信息
![]()
第二种方式:可调用的类的方式
以可调用的类的方式编写中间件
1.修改middleware.py
class middleware_name: # middleware_name:中间件的名字 def __init__(self, get_response): # 初始化中间件,项目启动时会进行初始化 print('项目启动了,访问到这里了') # get_response这是固定的写法(一般都这样写) self.get_response = get_response self.str = '你可以在这里初始化一写参数' def __call__(self, request): print('每一次请求都会经过这里') print(self.str) # 也可以使用init中初始化的参数 response = self.get_response(request) return response
![]()
2.配置中间件
![]()
3.启动项目查看控制台信息
![]()
4.访问http://127.0.0.1:8000/查看控制台信息
![]()
总结
1.两种方式都可以用来定义中间件
2.函数方式:写起来简单