3

IE で残りの api を参照しようとすると、api (text/html) 応答ではなく application/json 応答が返されます (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 に答える