私はDjangoとPythonを初めて使っていて、たくさんの情報を読んだあと、グローバル関数をビューとして使用しないことにしました(多分グローバル関数に慣れていないためですが、 。問題は、私がチェックしているDjangoアプリケーションのほとんどがクラスベースのアプローチを使用していないということです。クラスベースのビューはDjangoコミュニティで広く使用されていますか?
これは私が間違った場所(私はDjangoチュートリアルで始まってからgithubで)でコードをチェックしているからですか?
将来私はもっと多くのDjangoプログラマーと作業したいと思っており、最初は非標準的なアプローチを採用したくないので、これを頼んでいます。
両方見ることができますので、両方をご覧ください。可能なときにCBVを使用してください(CBVを動作させるために100行以上のコードを書く場合は、関数ベースのビューを使用する方が効率的です)。 CBVがうまくいくと、それらはうまく働きますが、はるかに優れていますが、すべてには限界があり、時には関数を使うほうが意味があります。 –
@ChrisPrattありがとう、私は両方の戦略を使用することを考えていた。あなたは、CBVを動作させるために100行以上のコードを書いていると言いますが、私は同意しますが、私は100行以上のコードをビュー関数に書くことについて考えていましたか?私はDjangoの経験はありませんが、テンプレートエンジンは他のフレームワークと比べて非常に強力ではないようですので、コントローラにコードを書く必要があります。 – Demian
これは難しくて速い数字ではありません。私は、あなたが必要とするようにCBVを動作させるためのコードをたくさん書いているのであれば、機能ベースのビューを使うだけで効率的かもしれないかどうかを考えなければならないということを意味しています。テンプレートエンジンは、意図的にそのように動作しています。 Djangoの哲学では、HTMLとコードを混在させることは悪く、人間的かつ合理的に可能な限り避けるべきだと述べています。だからあなたのビューは、テンプレートが必要とするすべてのものを設定する必要があり、テンプレートは理想的には画面上にダンプするだけです。 –