答えて
Djangoフォームクラスをforms.py
ファイルに入れる主な理由は、慣習です。他の人があなたのアプリケーションを見て、どのファイルでどのようなものが見つかるかを知ることが容易になります。規約に従うことは良いことですが、法律ではなく、自由にコードを整理することができます。ここで
は私がやるだろうと何:
まず第一に、あなたが重複したコードを因数分解することにより、コードの量を減らすことができます参照してください。一般的な検証ロジックはcustom validatorsに引き込むことができます。フィールドまたは機能を共有するフォームは、共通の親から継承できます。
カスタムフィールドクラスを作成した場合は、アプリケーションディレクトリにあるformfields.py
というファイルにすべてのフィールドクラスを分けて、forms.py
にインポートするだけで済みます。同様に、カスタムバリデータがある場合は、それらを取り出してインポートすることができます。
あなたのために十分なファイルサイズが縮小されていない場合は、関数ごとにフォームクラスを複数のファイルに分割します。 forms_user.py
,forms_products.py
,forms_data_entry.py
などです。そうすれば、特定のファイルで何が見つかるかはまだ明らかです。あなたの古い書式が参照されている場所であれば、import文を変更する必要がありますが、必要な変更のみが必要です。
これは良いアイデアです。私は今これについて考えている。私が考えていたのは、各モジュールに 'forms.py'を置くことでしたが、これは反対のDjango-ishだと思われますので、私はこれらの他のアイデアを使うことを考えています... – nicorellius
私はコメントできませんので、私は答えを書いています。あなたがすることができる他の事appディレクトリにforms
ディレクトリ(約__init__.py
を覚えている)を作成し、formone.pyするフォームを分割し、form2.pyすることで、...
次にあなたがそのfrom myapp.forms.formone import FormOne
のような形をインポートすることができます
それとも__init__.py
あなたが置くことができるコードで
from formone import *
from form2 import *
そして、あなたが本当にしたい場合は、from myapp.forms import FormOne
でフォームをインポートすることができます可能な限り変更を少なくするために、forms.pyを関数(forms_user.py、forms_product.py)で複数のファイルに分割するのが最も簡単です。
リファクタリングや新しいプロジェクトを開始する時間がある場合は、プロジェクトの各コンポーネント(ユーザー、プロジェクトなど)ごとに独自のforms.pyファイルを使用して新しいdjangoアプリケーションを作成することをお勧めします。単一のdjangoアプリが大きすぎるとスケーリングが止まる場合(models.py、views.pyなど)、メンテナンスが難しくなります。
- 1. Django TypeError in forms.py
- 2. いくつかのファイルで大きなhtmlファイルを分割する
- 3. char *をいくつかの変数に分割します。
- 4. を分割ファイルI18nに分割してください。
- 5. pyで分割します。 djangoで書く
- 6. Androidの分割は、分割機能について正しく
- 7. 境界ボックス/エクステントをいくつかの部分に分割します。
- 8. ページをいくつかの部分に分割する方法
- 9. djangoはテンプレートを分割してサポートしていますか?
- 10. Spark Scalaデータフレームをいくつかの値の範囲で分割します
- 11. いくつかの述語でストリームを分割する方法
- 12. いくつかの方法で数をkの等しくないサマンドに分割できますか?
- 13. クラスのコードをいくつかのファイルに分割する方法は?
- 14. TorchクラスをLua岩のいくつかのファイルに分割する方法
- 15. 隣接していない分割でNerdtreeファイルを開く
- 16. サブディレクトリのいくつかの部分でリソースファイルを分割する方法
- 17. ファイルを半分から2つの新しいテキストファイルに分割する(コマンドライン/バッチファイル)
- 18. PDBテキストファイルを各行の内容に基づいていくつかのファイルに分割します
- 19. Django - 分割admin.py
- 20. Djangoテンプレートタグ分割
- 21. Django - forms.pyの有効化の問題
- 22. PythonでCファイルを分割していますか?
- 23. Pythonでキーワードを含むファイルにファイルを分割しますか?
- 24. 分割データ - 私はいくつかのデータを分割しようとしている特定の場合
- 25. DotNetZipで分割Zipファイルを開く
- 26. Djangoのsettings.pyファイルが長すぎます。どのように2つに分割するのですか?
- 27. 3Dシリンダーをいくつかのセグメントに分割する方法
- 28. XMLを分割する方法は?いくつかの例?
- 29. 分割ファイルの分割
- 30. Djangoプロジェクトを分割する
具体的に何が問題になっていますか?なぜこれは難しいのですか? –
答えは明らかに単純だと答えています。私はsplit.pyがちょっと混乱していることを知っているので、私はキャッチがあるかどうかわからなかったので尋ねました。 – Max