8

新しい Django プロジェクトで、クラスベース ビュー (CBV) と関数ベース ビュー (FBV) のどちらを使用するか迷っています。

Djangoのドキュメントによると:

クラスベースのビューは、ビューを関数ではなく Python オブジェクトとして実装する別の方法を提供します。関数ベースのビューに取って代わるものではありませんが、関数ベースのビューと比較すると、特定の違いと利点があります。

python Zen と矛盾しているようです「それを行う方法は1つしかありません」

それで、どちらがより良い方法ですか?

これまでのところ、3 つの可能性しか考えていません。

  1. 常にFBVを使用

    これは、ジェネリック ビューをまったく使用しないことを意味します (これらは 1.5 以降のクラスベースであるため)。

  2. 常に CBV を使用:

    リクエスト処理順序の決定に特定の問題があります。見る

    http://lukeplant.me.uk/blog/posts/djangos-cbvs-were-a-mistake/

    また、クラス階層全体を構築することは、パフォーマンスにとって良くないと思います。その場合、FBV がまだ廃止されていないのはなぜでしょうか?

  3. によると、ジェネリック CBV を FBV に入れる

    https://gist.github.com/spookylucey/2596285

    その結果、多くの残酷なボイラープレート コードが生成されます

他の方法が見えますか、それともビューがどこに向かっているのか誰か知っていますか?

4

1 に答える 1