Djangoフォームセットのカスタムフィールドの除外

dreamzboy

2つのラジオボタン(男性/女性)を持つフォームを作成しました。その下には、名と名前の入力ボックスがあります。フォームセットを使用してフォームを複製すると、すべての入力ボックスのラジオボタンが含まれるため、除外したいと思いました。ユーザーが「男性」を選択したら、名前は性別の選択と一致する必要があると想定します。

出力は次のようになります。

O男性O女性

名前苗字: _______________

名前苗字: _______________

..。

forms.py

from django import forms


class NameForm (forms.Form):
    GENDER = (
        ('Male', 'Male'),
        ('Female', 'Female')
    )

    gender = forms.ChoiceField (widget = forms.RadioSelect, choices = GENDER)
    first_name = forms.CharField (max_length = 20)
    last_name = forms.CharField (max_length = 20)


Shell Output:
>>> from django.forms.formsets import formset_factory
>>> from nameform.forms import NameForm
>>> 
>>> NameFormSet = formset_factory (NameForm, extra = 2)
>>> formset = NameFormSet ()
>>> for form in formset:
...     print (form.as_table())
... 
<tr><th><label for="id_form-0-gender_0">Gender:</label></th><td><ul id="id_form-0-gender">
<li><label for="id_form-0-gender_0"><input id="id_form-0-gender_0" name="form-0-gender" type="radio" value="Male" /> Male</label></li>
<li><label for="id_form-0-gender_1"><input id="id_form-0-gender_1" name="form-0-gender" type="radio" value="Female" /> Female</label></li>
</ul></td></tr>
<tr><th><label for="id_form-0-first_name">First name:</label></th><td><input id="id_form-0-first_name" maxlength="20" name="form-0-first_name" type="text" /></td></tr>
<tr><th><label for="id_form-0-last_name">Last name:</label></th><td><input id="id_form-0-last_name" maxlength="20" name="form-0-last_name" type="text" /></td></tr>
<tr><th><label for="id_form-1-gender_0">Gender:</label></th><td><ul id="id_form-1-gender">
<li><label for="id_form-1-gender_0"><input id="id_form-1-gender_0" name="form-1-gender" type="radio" value="Male" /> Male</label></li>
<li><label for="id_form-1-gender_1"><input id="id_form-1-gender_1" name="form-1-gender" type="radio" value="Female" /> Female</label></li>
</ul></td></tr>
<tr><th><label for="id_form-1-first_name">First name:</label></th><td><input id="id_form-1-first_name" maxlength="20" name="form-1-first_name" type="text" /></td></tr>
<tr><th><label for="id_form-1-last_name">Last name:</label></th><td><input id="id_form-1-last_name" maxlength="20" name="form-1-last_name" type="text" /></td></tr>
Yuji 'Tomita' Tomita

フォームとフォームセットが必要です。名前だけを含むフォーム、繰り返し要素を含むフォームセット。

繰り返しフォームクラスを使用し、それをハックして最初のクラスを別の方法で処理することは、実際には意味がありません。

または、これがデータの問題(レガシーインターフェイスなど)であり、フォームに両方を含める必要がある場合は、他のすべての要素を非表示にし、javascriptを使用して非表示の性別の選択を入力することができます。

ただし、実際には、とを使用する必要がFormありFormSetます。

{{ form.as_p }}
{% for form in formset %}
  {{ form.as_p }}
{% endfor %}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Djangoのカスタムフォームフィールド

分類Dev

djangoフォームクエリセット複数の同じフィールドフィルター

分類Dev

コードネーム1セット次のテキストフィールドフォーカスする

分類Dev

Djangoでのフォームセットのカスタム検証

分類Dev

フォームタグ内の複数のフィールドセット

分類Dev

symfonyフォームの価格フィールド-メッセージ付きのカスタムアサート

分類Dev

PowerApps-フォームフィールドのリセット

分類Dev

Djangoフォームクエリセット:既存のレコードを除外

分類Dev

SharePointリストのフィールドのカスタムフォーマット

分類Dev

フォーム全体を手動でやり直すことなく、Djangoカスタムフォームフィールドのレイアウト

分類Dev

Django:フォーム保存のデータにカスタムフィールドを追加する方法は?

分類Dev

iOS用のカスタム投稿フィード-現在の投稿オフセット

分類Dev

Django-別のフィールドに基づいてフォームフィールドクエリセットをフィルタリングする

分類Dev

Djangoのフィールドでのカスタムエラー

分類Dev

検索フォームでのカスタムフィールドの使用

分類Dev

Woocommerce注文フォーマットの請求先住所の再注文とカスタム請求フィールド

分類Dev

ModelChoiceFieldフォームフィールドのカスタムラベル

分類Dev

djangoはパスワードのリセットフォームをカスタマイズします

分類Dev

カスタムメッセージのLogstashフィルター

分類Dev

Admin / AdminInlineにモデル以外のフィールドがあるDjangoカスタムフォーム

分類Dev

Djangoフォームにカスタムフィールド属性のクラスを継承させる

分類Dev

バックエンドフォームへのカスタムフィールドの追加

分類Dev

カート内のカスタムフォームフィールドとWoocommerceのチェックアウトでデータを取得します

分類Dev

djangoでカスタムフォームのフィールドに名前を付ける方法は?

分類Dev

ストライプでカスタムの個別のフォームフィールドを使用する

分類Dev

DjangoモデルのカスタムIDフィールド

分類Dev

Djangoカスタムモデルフィールドの記述

分類Dev

テキストフィールドのDjangoカスタムタグ

分類Dev

登録フォームのカスタム フィールドのカスタム検証を考案する

Related 関連記事

  1. 1

    Djangoのカスタムフォームフィールド

  2. 2

    djangoフォームクエリセット複数の同じフィールドフィルター

  3. 3

    コードネーム1セット次のテキストフィールドフォーカスする

  4. 4

    Djangoでのフォームセットのカスタム検証

  5. 5

    フォームタグ内の複数のフィールドセット

  6. 6

    symfonyフォームの価格フィールド-メッセージ付きのカスタムアサート

  7. 7

    PowerApps-フォームフィールドのリセット

  8. 8

    Djangoフォームクエリセット:既存のレコードを除外

  9. 9

    SharePointリストのフィールドのカスタムフォーマット

  10. 10

    フォーム全体を手動でやり直すことなく、Djangoカスタムフォームフィールドのレイアウト

  11. 11

    Django:フォーム保存のデータにカスタムフィールドを追加する方法は?

  12. 12

    iOS用のカスタム投稿フィード-現在の投稿オフセット

  13. 13

    Django-別のフィールドに基づいてフォームフィールドクエリセットをフィルタリングする

  14. 14

    Djangoのフィールドでのカスタムエラー

  15. 15

    検索フォームでのカスタムフィールドの使用

  16. 16

    Woocommerce注文フォーマットの請求先住所の再注文とカスタム請求フィールド

  17. 17

    ModelChoiceFieldフォームフィールドのカスタムラベル

  18. 18

    djangoはパスワードのリセットフォームをカスタマイズします

  19. 19

    カスタムメッセージのLogstashフィルター

  20. 20

    Admin / AdminInlineにモデル以外のフィールドがあるDjangoカスタムフォーム

  21. 21

    Djangoフォームにカスタムフィールド属性のクラスを継承させる

  22. 22

    バックエンドフォームへのカスタムフィールドの追加

  23. 23

    カート内のカスタムフォームフィールドとWoocommerceのチェックアウトでデータを取得します

  24. 24

    djangoでカスタムフォームのフィールドに名前を付ける方法は?

  25. 25

    ストライプでカスタムの個別のフォームフィールドを使用する

  26. 26

    DjangoモデルのカスタムIDフィールド

  27. 27

    Djangoカスタムモデルフィールドの記述

  28. 28

    テキストフィールドのDjangoカスタムタグ

  29. 29

    登録フォームのカスタム フィールドのカスタム検証を考案する

ホットタグ

アーカイブ