2016-12-24 6 views
0

これについて議論するコードはありません。しかし、概念的な問題の詳細。エンジン付きDjangoデザインパターン

ユーザーがウェブファイルページからファイルをアップロードしたり、ページからいくつかのパラメータを入力したりするとします。

Models.pyは、データベースに保存する必要があるすべてのデータを格納します。

私の質問は、ユーザーがフォームを介してウェブページデータを送信した後であると言えます。私の処理ロジックはどこに置くべきですか? forms.py?複雑なプロセスの場合、このコードを配置するための適切なデザインパターンは何でしょうか?

+0

良いです。ここから始められます:https://docs.djangoproject.com/en/1.10/intro/tutorial01/ – zEro

+0

なぜDjangoチュートリアルへの参照ですか?私はそれにいくらか慣れ親しんでいる。私がforms.pyや他の場所に処理ロジックを置くべきかどうかをチェックするだけですか? – aceminer

+0

Djangoに慣れているなら、forms.pyやmodels.py、anything-else.pyは単なるシステム内のモジュールやサブモジュールであることは既に知っています。 models.pyは、すべてのモデルの識別を可能にする抽象です。同様に、フォーム用のforms.py。ただし、処理が複雑なロジックの場合は、ロジックをutils.pyに入れて、フォーム処理中にロジックを使用することができます。しかし、これはすべてあなたの選択です、誰もコードを見ることなくこれについてあなたを導くことができます。 – zEro

答えて

1
  • あなたは間違いなくだけviews.pyを持っている必要はありません。リクエストを処理する他の場所を指定することもできます。あなたがたくさんの異なる要求をしているのであれば、それらをモジュールで分けることは良い習慣になるでしょう。したがって、view.pyには1000個程度の方法がありません。

enter image description here

  • あなたは、アプリケーションロジックが含まれている別のモジュールを呼び出しますviews.py内のすべての要求を処理することができます。

enter image description here

1

Djangoの典型的なパターンでは、アプリケーションのviews.pyファイルでリクエストを処理します。単に規約に従うだけでどこにでもコードを置くことができますが、チュートリアルと一緒に学習し、それに従うのであれば、このロジックが期待される場所は通常views.pyです。

https://docs.djangoproject.com/en/1.10/topics/http/views/

モデルがアップロードしたファイルをデータベースに格納されていない、FileFieldを使用している場合は、かなりのファイルをアップロードし、あなたのプロジェクトの設定MEDIA_ROOT値で指定されたパスに格納されています。データベースFileFieldは、MEDIA_ROOTのファイルパスに対する相対参照を格納します。

https://docs.djangoproject.com/en/1.10/topics/http/file-uploads/

関連する問題