自己在开发中间件过程中,遇到了这个问题,通过查找资料,得以解决,现将它记录下来。
这是因为我用的django 的版本没有MiddleMixin这个类。
所有 from
django.utils.deprecation
import
MiddlewareMixin 不能这么导入
因此我们需要自己写一个,这样我们就不用引用这个类了,用我们自己写的就好啦。
代码如下:
class MiddlewareMixin(object): def __init__(self, get_response=None): self.get_response = get_response super(MiddlewareMixin, self).__init__() def __call__(self, request): response = None if hasattr(self, 'process_request'): response = self.process_request(request) if not response: response = self.get_response(request) if hasattr(self, 'process_response'): response = self.process_response(request, response) return response
在自定义的中间件代码上面加上这段代码就大功告成啦。