【发布时间】:2015-05-11 22:52:47
【问题描述】:
问题在标题中。发现当我们的视图引发Http404异常时,我们process_response方法的响应参数是异常而不是HttpResponse。
这是正确的吗?我们在编写中间件时是否需要考虑这种情况或是否配置错误?
【问题讨论】:
标签: django middleware
问题在标题中。发现当我们的视图引发Http404异常时,我们process_response方法的响应参数是异常而不是HttpResponse。
这是正确的吗?我们在编写中间件时是否需要考虑这种情况或是否配置错误?
【问题讨论】:
标签: django middleware
好吧,如果它看起来像一只鸭子,并且像鸭子一样嘎嘎......
但是是的,您的process_response() 方法应该接收HttpResponse 子类,而不是例外。如果您的中间件收到异常,很可能是由于在视图或先前的中间件方法中返回 Http404 而不是引发它。
【讨论】:
raise Http404 的测试视图,并确认它最终作为process_response 中的响应对象传入。你怎么看?
process_exception 并错误地返回了Http404 异常作为响应。谢谢你的鸭子!我将您的回复标记为解决方案。