使用Django的最新分支1.10,我在编写自定义中间件类时得到了提到的异常。
异常: process_exception()只需要2个参数(给定3个)
自定义中间件的简化代码如下所示:
class CustomMiddleware(object):
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
# do something ...
response = self.get_response(request)
return response
def process_exception(request, exception):
# do something ...
return None
Accordin gto最新的文档,process_exception
有两个参数:
https://docs.djangoproject.com/en/1.10/topics/http/middleware/#process-exception
删除了Django 1.9所需的self
参数。 Django本身在process_exception_by_middleware 中的 \ django \ core \ handlers \ base.py中引发错误
在我的self
方法中添加以前需要的process_exception
参数时,一切正常。这是一个Django错误 - 或者我在这里误解了什么?