[Django Reset fram ework文書翻訳]-Resonses

2787 ワード

REST frame efforkは、1つのResponseクラスを提供することによってHTTPのコンテンツ交渉能力をサポートするものである。このクラスは、クライアントの要求に応じて、リターンコンテンツを異なるコンテンツタイプにレンダリングすることができます。Response類は、DjangoのSimpleTemplateResponseを継承しています。Responseオブジェクトは、Python元のタイプを含むデータで初期化される。REST frame efforkは標準のHTTPコンテンツ協議方式を使って最終的な戻り内容をどのようにレンダリングするかを決定します。Responseクラスを使用しなければならないという強要はありません。必要であれば、相変わらずあなたのビューから普通のHttpResponseクラスまたはStreamingHttpResponseオブジェクトを返してもいいです。Responseクラスを使用して、単純により友好的なインターフェースを提供しただけで、戻るために必要なコンテンツの協議は、複数のフォーマットにレンダリングされたネットワークAPIに戻されます。もし何らかの理由でREST frame eworkをリサイズする必要があるなら、そうでなければ、APIViewクラスまたは@api_view機能を使用して、戻ってくるべきResponseオブジェクトに与えられます。このようにすることは、レスポンスがviewから戻る前にコンテンツ協議を行い、適切なレンダリングデバイスを選択してレスポンスをレンダリングすることを保証することです。
レスポンスを作成
Resonse()
  : Response(data, status=None, template_name=None, headers=None, content_type=None)
普通のHttpResponseオブジェクトと違って、レンダリングされた内容で初期化する必要はありません。逆に、描画されていない任意のPythonベースタイプから構成されるデータが入ってきます。Responseクラスで使用されるレンダリング器は、もともとDjango modelのような複雑なデータを扱うことができないので、Responseを作成する前に、データを元のタイプのデータに順序付けする必要があります。このようなデータのプロシージャは、REST frame ewarkのResponseクラスを使用して実行することができます。または、あなた自身がカスタマイズしたプログレッシブを使用してください。パラメータ:
  • data:reponseにプログレッシブ化されたデータ
  • status:レスポンスのデフォルトのステータスコード。標準値は200です。status codesを詳しく調べてください。
  • template_name:テンプレート名が選択されている場合はSerializer
  • headers:reponseで使用される辞書の一つはHTTPヘッダ
  • を表しています。
  • content_タイプ:このレスポンスの内容タイプ。一般的には、これは内容協議のためのレンダリング装置によって自動的に設定されますが、自分で指定した
  • が必要な場合もあります。
    属性
    ダタ
    一つのHTMLRendererオブジェクトにレンダリングされた内容がない。
    status_コード
    HTTPレスポンスのデジタル状態コード
    .content
    レスポンスのレンダリングした内容。Request方法は、.render()がアクセスされる前に呼び出しなければならない。
    .template_name.contentテンプレート名は、template_nameまたは他のカスタマイズされたテンプレートレンダリングが、レスポンスの許容可能なレンダリング装置として設定されている場合、提供されなければならない。
    .accepted_レンダー
    レンダリングレスポンス用のレンダリングオブジェクトです。レスポンスがviewから戻る前にすぐにHTMLRendererまたはAPIViewに設定されます。
    .accepted_メディアタイプ
    メディアタイプは、コンテンツ交渉段階で選択されたもので、reponseがviewから帰る前にすぐに@api_viewまたはAPIViewに設定される。
    レンデcontext
    辞書の追加情報がレンダリング装置に伝えられる@api_view方法は、reponseがviewから帰る前に、.render()またはAPIViewによって設定される。
    標準@api_view属性HttpResponseクラスはResponseから拡張され、すべての基本的な属性および方法が利用可能である。例えば、あなたはスタンダードな方法でレスポンスのheaderに情報を設定できます。
    render()
    他のSimpleTemplateResponseと同様に、この方法は、プログレッシブなオブジェクトを最終的なレスポンスにレンダリングするものである。TemplateResponseが呼び出されると、レスポンスの内容は.render()の例でaccepted_render.レンダー()`と呼ばれるように設定されます。