所以,图很清楚。
但我有一些问题
当 process_request() 中间件出现异常时会发生什么?它是如何处理的?会调用 response_middleware 吗?例如。如果出现异常
process_view()
,AuthenticationMiddleware
那么会process_response()
被MessageMiddleware
调用吗?在 process_response() 中间件返回响应时会发生什么?例如。如果
process_view()
ofAuthenticationMiddleware
返回响应,那么会调用process_response()
of吗?MessageMiddleware
或者它会从AuthenticationMiddleware
(即,它会调用process_response()
ofAuthenticationMiddleware
,但不会调用process_response()
ofMessageMiddleware
)返回
我在 1.10 中调试了 django 的行为,其中使用了新样式的中间件类,但我对旧MIDDLEWARE_CLASSES
设置不熟悉?
对于 django 1.10:- 1) 如果process_request()
forAuthenticationMiddleware
返回响应,则process_template_response()
和process_response()
将被调用,如下图所示,用于所有中间件。
2)如果process_request()
forAuthenticationMiddleware
引发异常,那么行为也将相同。
纠正我,如果我错了。
提前致谢。