新しいDjangoプロジェクトでは、Class-Based Views(CBV)またはFunction-Based Views(FBV)のどちらを使用するのか不思議です。 Django's documentationによれば新しいDjangoプロジェクトでは、クラスベースビューまたは関数ベースビューを使用する必要がありますか?
:
クラスベースのビューは、Pythonは、関数の代わりにオブジェクトとしてビューを実装する別の方法を提供します。関数ベースのビュー
禅のPythonのために矛盾するよう
と比較すると、彼らは、特定の違いと利点を関数ベースのビューを置き換えますが、持っていないので、
を「それをする唯一の方法があります」これはより良い方法ですか? (これらのように、クラスベースの1.5以降です)
すべての汎用ビューを使用していないことを意味FBV
を使用して、必ず
:
これまでのところ、私は3つのだけの可能性を参照してください常にCBVを使用:これは、リクエスト処理オーダの決定に一定の問題があります。
http://lukeplant.me.uk/blog/posts/djangos-cbvs-were-a-mistake/
を参照してください。私はまた、全体のクラス階層を構築することは、パフォーマンスのために良いではないと思われます。その場合、FBVがまだ非難されていない理由を私は自分自身に尋ねるでしょうか?どこFBVにジェネリックCBVを置く
は、残酷な定型コード
の多くになり
https://gist.github.com/spookylukey/2596285
に応じて、あなたは他の方法を参照してください、または誰もが知っていますビューは行っている?
「誰が見ているのか知っていますか?」 - この質問はSOのためではなく、開発メーリングリスト/ IRCのためのものです。 –
プロジェクトに最も合ったものを使用してください。関数ベースの*ジェネリック*ビューは時代遅れになるだろうと私は言います。関数ベースのビューはクラスベースのビューとは異なる問題を解決します。 –
@GeorgeStocker:あなたのプロジェクトで最も意味のあるものを使うのは矛盾ではありませんか?...私は、関数ベースの一般的なwievが廃止されると言いますか?もしFBVが時代遅れになるなら、私はそれらを使うべきではありませんか?ほとんどの場合、fbvとcbvの両方が同じ問題に取り組んでいますが、どちらのプロジェクトでも両方を同じにして使うことはできませんか? – ProfHase85