【中间件】

2018-05-24  本文已影响34人  MarcoHorse
  1. 什么是中间件

中间件,其实就是个钩子函数,相当于一个装饰器的作用,而django的中间件,主要是request和view之间,以及,view和response之间所做的处理。

  1. 怎么去写一个中间件

    其中自定义的django中间件里面包含着五个方法,里面包括

2.1 初始化方法__init__
2.2 process_request
2.3 process_view
2.4 process_response
2.5 process_error

由上图,我们可以看出,一个httprequest请求经过重重的中间件处理,最后生成一个response对象。

ps:中间件是有顺序的

  1. 怎么去写一个中间件

    3.1 声明一个中间件对象,可以是类也可以是函数

中间件类:
class UserMiddleWare(MiddlewareMixin):
  def __init__(self, get_response=None):
    self.get_response = get_response
    print("haha")
  def process_request(self, request):
    request.tag = "woshuai"
    print("老子很帅")

def UserMiddleWare(get_response): #定义一个用户自定义的UserMiddleware中间件,传一个系统函数    
  #get_response作为参数
  def middleware(request):
    print("老子很帅")
    response = get_response(request)
    # response中间件
    return response
  return middleware

3.2 配置中间件
在django项目的:MIDDLEWARE里面添加声明的中间类或者对象

3.3 运行效果如下:


上一篇 下一篇

猜你喜欢

热点阅读