2017-09-18 4 views
0

私のdjangoビューはかなり大きくなっています。私はどれくらいの種類の論理がdjangoのビューに推奨されているのだろうかと思っています。djangoビューにどのような種類のロジックを格納するのですか?

ビューが推奨範囲を超えた場合、データコントローラまたはビューコントローラのようなロジックを抽象化するために推奨されるファイルがありますか?

答えて

0

DjangoはMVCの独自の解釈を持っている:

https://docs.djangoproject.com/en/1.11/faq/general/#django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names

その意味では、私はあなたの意見ではほとんどのロジックを置くことをrecomment。ビューはコードの配管です。彼らは次のようなステートメントです: "そのデータをこのモデルから取り出し、そのコンテキストを使ってこのテンプレートに入れます。"

魔法が起こるロジックは、メソッドと計算されたプロパティの形でモデルに入ります。

ビューの特定のコード例がある場合は、より具体的なアドバイスを行うことができます。

+0

多くのロジックが複数のモデルに適用されます。その場合、あなたはそれらの機能をどこに置いていますか? – Atma

+0

@Atmaおそらく、これらのモデルは共通の祖先から継承できます。これは抽象的な祖先であることをDjangoに伝えるようにしてください。それ以外の場合は、あなたのパフォーマンスが乱れるでしょう:https://jacobian.org/writing/concrete-inheritance/ –

+1

@Atmaまた、Pythonのような他のモジュールファイルプロジェクト。 models.pyとviews.pyのほかに、私はしばしばtasks.pyと他のモジュールを保持しています。結局のところ、Pythonだけです。 –

関連する問題