中间件返回HttpResponse对象,Django将不会再调用其它任何中间件或者合适的视图,它将返回该应答

作者在 2014-05-24 22:08:42 发布以下内容
* 应答后处理:process_response(self, request, response) 
       
 该方法在视图方法已经调用和应答生成后调用,这是中间件修改应答输出的地方,输出压缩(见下)是应答中间件的一个显然的应用参数应该非常自明了--request是请求对象,response是从视图返回的应答对象不像请求和视图中间件,它们可以返回None,process_response()必须返回一个HttpResponse对象,该应答可以是传递给该 
方法的原始应答(可能被修改了)或者新的应答 

* 异常后处理:process_exception(self, request, exception) 

        该方法只在出错并且视图触发不可捕获的异常时调用,不包括Http404异常,你可以使用这个钩子来发送错误通知,在一个日志文件记录信息,或者甚至尝试自动恢复该错误。该方法的参数是我们一直处理的同样的request对象和视图方法触发的真正的Exception对象exception。process_exception()可能返回一个作为应答显示给浏览器的HttpResponse或者返回None来继续Django内建的异常处理。



http://www.dfwlt.com/forum.php?mod=viewthread&tid=721&extra=

默认分类 | 阅读 2424 次
文章评论,共0条
游客请输入验证码
文章分类
文章归档
最新评论