2016-08-27 5 views

答えて

0

djangoのネイティブフォームは、デフォルトではこの能力を持っていません。これは通常、フォームのテンプレートに適切なクライアント側のコントロールを追加することによって行われます。例えばjavascriptを使用して、別のフィールドの値に基づいていくつかのフィールドを表示/非表示にします。これは一般にusing javascript、場合によってはeven pure cssとなります。

複数のページにまたがる複数ステップのフォームを扱う場合や、フィールドを含む/取り除く可能性のある値を事前に知っている場合は、フォームの__init__メソッドをオーバーライドして、self.fieldsプロパティを追加またはフォームが最初に生成されているときに、必要に応じてフィールドを削除します。

幸運!

+0

私はモデルフォームを使用しているので、返信いただきありがとうございます。表示/非表示またはjs/jqueryを使用してポップアップする特定のフィールドを選択する方法はありますか? – Biju

+0

2つのオプション:単一のテンプレートタグを使用してフォーム全体を出力するだけの場合は、フォームのページソースを表示して最終的なhtmlレイアウトを決定し、表示/非表示に必要なフィールドのHTMLコンテナクラス/ ID wih js。それ以外の場合は、各フォームフィールドのtemplateタグを個別に呼び出して、HTMLレイアウトを完全に制御できるように、テンプレート内のフォームを手動で生成することができます。詳細については、[django forms documentation](https://docs.djangoproject.com/ja/1.9/topics/forms/#working-with-form-templates)を参照してください。 – derelict

+0

ありがとうございました。 – Biju

関連する問題