3

在 IE 上,当我尝试浏览其余 api 时,我得到的是 application/json 响应而不是 api (text/html) 响应(在 firefox 上返回 html 响应)。为此,我正在使用 django restframework 2.2.5。

我通读了文档并了解到,为了克服 IE 的标头损坏问题,我们需要在视图中明确使用 TemplateHTMLRenderer,因此我在视图的类定义中添加了以下内容,但我仍然收到 json 响应. 我做得不对还是我错过了其他东西?

class CustomReports(generics.GenericAPIView):

  `renderer_classes = (renderers.TemplateHTMLRenderer)`

您能否帮助解决问题,以便我在 IE 的情况下也能获得 html 响应?

4

1 回答 1

0

你用的是哪个版本的IE?我相信较新版本的 IE 应该发送正确的Accept标题。

我可能不会费心尝试解决问题以解决 IE 的损坏行为,而是确保您在 url 中包含格式后缀。然后你可以简单地使用.api后缀来查看可浏览的 API,或者使用.json后缀来查看纯 json。

例如,代替http://127.0.0.1:8000/api-root/, 使用http://127.0.0.1:8000/api-root/.api.

于 2013-03-28T10:09:38.917 回答