2016-07-17 7 views
0

私はビジネスロジックの多い複雑なフォームを扱うジャンゴの方法を探しています。問題は私のフォームの多くに依存性があることです。
いくつかの例:
1.お互いに依存する2つの「選択」(選択肢)フィールド。たとえば、CountryとCityの2つのドロップダウンを考えてみましょう。
2.フォームの他のものが選択された場合に必要な「必須」ルールです。選択フィールドで「その他」オプションを選択した場合、テキストエリアに説明を追加する必要があります。
3.日付/日時フィールド、つまり最大/最小の日付のようなルールを処理する方法はありますか?依存関係を持つ動的フォームのためのDjangoの方法?

私が今やっていることは、これらのすべてをclean(),__init__()の形式で実装し、クライアント側のJSを書くことです。

もっと良いアプローチがあるのだろうか?これらのルールをdjango Metaクラスに似たものに定義するのが好きです。

答えて

0

1.このタスクは、django/jingaに関係しない、フォームのhtmlビルドに深く関連しています。 2.ここでは、動的フォームに進みます。これを行うために今日最もよく利用されている方法は、JSを通じてです。 3. "time"タイプのフィールドを持つDBを構築してから、 "admin"がどのようにそれを処理するか見る。特別なフィールドのすべての使用法はここでカバーされています:https://docs.djangoproject.com/en/1.9/ref/forms/fields/

+0

の(1)については、私はそれを言いません。従属ドロップダウンがある場合は、それらが一致することを検証する必要があります(サーバー側)。だから、ある種の「制約」です。そして、それは選択値に基づいてフォームを更新する必要があるので、それはhtmlレンダリング(JS)についてです。 – user3599803

+0

そして明らかに、ここの問題の一部はJS /クライアント関連です。現在、私は角度のようなライブラリを探しています。なぜなら、jQueryは多くのロジックを扱うだけでは十分ではないようだからです。コールバックやイベントハンドラがたくさんあります。 – user3599803

+0

もう1つ問題が発生しました。クライアントサイドでのJSの検証、時には面倒です..私は自分のフィールド名をハードコードします。 "django"という名前を使うのは難しいからです。 – user3599803

関連する問題