0

私はDjangoを初めて使用し、クラスベースのビューをクラス内のいくつかのメソッドでGET、POST、PUT、DELETEに応答させるメソッドを探しています。例えば

  • インデックス #GET
  • #GET を表示
  • 新しい #GET
  • #GET を編集
  • #POST を作成
  • 更新 #PUT
  • 削除 #DELETE

私の主な理由は、コードを 1 つのクラスに整理することです。現在、新しいアクションと作成アクションを処理するクラスと、編集アクションと更新アクションを処理するクラスを使用しています。これはちょっとダサい気がする。

私は Spring、Symfony、Rails を使用してきましたが、これらはすべてこれを行うための簡単な方法を提供しています。Django (tastypie、rest-framework) には多くのオプションがあるようですが、これを正確にサポートしているものは見当たりません。これをサポートする方法はありますか?

前もって感謝します。

4

1 に答える 1

0

私は完全に肯定的ではありませんが、REST という用語を「単一のクラスでさまざまな種類のリクエストを処理する」と混同していると思います。rest-framework と Tastypie が可能にするのは、リソースの定義、そのシリアライゼーションとデシリアライゼーション、django モデルとの間の配管、リソースへの標準化された API です。

一方、django クラスベースのビューだけを使用すると、必要なものを取得できます。X、Y、Z ミックスインで形成された単一のクラス内のさまざまなタイプのリクエストに応答し、単一の URL をポイントしますが、それはそうではありません。正確に「REST」にしないでください。

単一の CBV を使用することは良い考えのように思えるかもしれませんが、ビューがますます複雑になるにつれて、元のぎこちなさがより結合された方法で確実に再浮上することに注意してください。

編集:おそらくdjango-extra-viewsが何らかの形であなたを助けることができます.

于 2013-03-30T18:45:30.287 に答える