【发布时间】:2015-03-26 23:40:07
【问题描述】:
我正在尝试编写一个确保用户登录的中间件类。
但问题是这个中间件类只适用于一小部分视图,这些视图返回 DRF 的Response 对象而不是HTTPResponse 对象,这些视图也使用api_view 进行修饰。
因此,当我尝试从中间件类返回一个 Response 对象时,它会引发此错误。
assert renderer, ".accepted_renderer not set on Response"
AssertionError: .accepted_renderer not set on Response
我在 SO 上进行了一些搜索,我猜该错误与 api_view 装饰器有关。但是我对如何解决这个问题感到困惑。
感谢任何帮助。 :)
【问题讨论】:
-
你读过renderers或content negotiation吗?我从未使用过 DRF,但我认为您可以查看这些页面。注意
@renderer_classes装饰器... -
我认为他们不会提供帮助。当它们应用于视图时。但我的问题是在视图被调用之前,即在中间件中。但我确实阅读了这些页面,但我的困惑并没有解决。
标签: django django-rest-framework django-middleware