DjangoでRadioSelectフォームを使用すると、ラジオボタンが表示されないのはなぜですか?

TheCodingRecruiter

ユーザーがラジオボタンを使用して月を選択できるページの作成に取り組んでいます。また、これを使用して、名、姓、電子メール、電話番号、会社などの他の情報を収集する必要があります。これを行う際に、私はDjangoフォームを使用することで仕事が完了するはずだと考えました。私はすべてを始めて実装し、ラジオボタンの部分にたどり着きました。ChoiceFieldを使用してこれを行う必要があり、RadioSelectがそのウィジェットであることがわかりました。すべての選択肢が表示されていますが、いずれかをクリックして選択することはできません。また、これは必須の質問になります。空白のままにしておくことができ、問題なくPOSTされるため、これを必須のフォームにする方法がわかりません。

私は太陽の下ですべてをググった。少なくとも1つのラジオボタンが表示されることを期待して、最初の選択を設定しようとしましたが、それはできませんでした。RadioSelect()の代わりにwidget = forms.Select()を実行しようとしましたが、月が表示されますが、いずれも選択できません。何をすべきかわからない。それが助けになるなら、これはDjango2.1を利用しています。

index.html ---ここに月のラジオボタンの場所はありますが、テンプレートにそれらを含めないようにしているので、form.pyファイル{%extends'landingpage /layout.htmlに配置することをお勧めします。 '%}

{% block content %}
<div class="h1 col s3 left-align grey lighten-4" style="font-family: 'Exo', sans-serif;">Welcome to FaithGuard</div>
<div class="div">
        <br>
        <br>
        <br>
        <br>
</div>

<div class="row" style="font-family: 'Exo', sans-serif;">


        <form method='POST' class="col s6"> {% csrf_token %}
{{ form }}

<div class="h1 col s6 grey lighten-4 radioRequired">Date of renewal/expiration</div>
<br>
<br>

<div class="div" id ="Exiration Month Div">
                <p>
                  <label>
                    <input name="month" value ="January" type="radio" />
                    <span>January</span>
                  </label>
         <label>
           <input name="month" value ="February" type="radio" />
          <span>February</span>
        </label>

         <label>
         <input name="month" value="March" type="radio"  />
         <span>March</span>
         </label>
         <label>
          <input name="month" value="April" type="radio" />
           <span>April</span>
        </label>
                </p>


                <p>
                  <label>
                    <input name="month" value="May" type="radio" />
                    <span>May</span>
                  </label>
                                    <label>
                    <input name="month" value="June" type="radio" />
                    <span>June</span>
                  </label>
                                    <label>
                    <input name="month" value="July" type="radio" checked/>
                    <span>July</span>
                  </label>
                                    <label>
                    <input name="month" value="August" type="radio" />
                    <span>August</span>
                  </label>
                </p>
                <p>
                  <label>
                    <input name="month" value="September" type="radio"  />
                    <span>September</span>
                  </label>
                                    <label>
                    <input name="month" value="October" type="radio" />
                    <span>October</span>
                  </label>
                                    <label>
                    <input name="month" value="November" type="radio" />
                    <span>November</span>
                  </label>
                                    <label>
                    <input name="month" Value="December" type="radio" />
                    <span>December</span>
                  </label>
                </p>
<div class="div right-align">
<button class="btn waves-effect waves-light" type="submit" name="action">Submit</button>
</div>

</div>
              </form>

      </div>

{% endblock %}

views.py

from django.shortcuts import render
from django.http import HttpResponse
from .forms import ContactForm

# Create your views here.

def index(request):

    contact_form = ContactForm(request.POST or None)

    context = {
        'form' : contact_form

    }
    if contact_form.is_valid():
        print(contact_form.cleaned_data)

    if request.method == "POST":
        print(request.POST)
    #     print(request.POST.get('email'))



    return render(request, 'landingpage/index.html', context)

forms.py

from django import forms

class ContactForm(forms.Form):

firstname = forms.CharField(
    label="First Name", widget=forms.TextInput(
        attrs={
            "class": "form-control", 
            "placeholder": "First Name"
            }
            )
            )
lastname = forms.CharField(
    label="Last Name", widget=forms.TextInput(
        attrs={
            "class": "form-control", 
            "placeholder": "Last Name"
            }
            )
            )
npo = forms.CharField(
    label="Nonprofit Organization", widget=forms.TextInput(
        attrs={
            "class": "form-control", 
            "placeholder": "Nonprofit Organization",
            }
            )
            )
email = forms.EmailField()
phone = forms.IntegerField(min_value=999999)
month = forms.ChoiceField(label='Month of Renwal/Expiration', choices=[('1', 'January'), ('2', 'February'),('3', 'March'),('4','April'),('5','May'),('6','June'),('7','July'),('8','August'),('9','September'),('10','October'),('11','November'), ('12', 'December')], initial='1',
widget=forms.RadioSelect())


# EXAMPLE FROM ANOTHER STACKOVERFLOW RADIOSELECT ISSUE
# do_a = forms.ChoiceField(label='Do A',choices=[('1', 'Yes'), ('2', 'No'), ('3', 'Maybe')], initial='Maybe', widget = forms.RadioSelect())

私がこれに期待しているのは、ユーザーが選択できるラジオボタンで何ヶ月も表示することです

これは、ハードコードされた入力をテンプレートから削除した後に表示されるものです

早い

本当に自分で行う必要がない限り、Djangoにinputタグをレンダリングさせる必要があります。

フォーム全体を{{ form }}または{{ form.as_p }}または同様にレンダリングさせることができますまたは、次のような個々のフィールドをレンダリングすることもできます{{ form.month }}(また{{ form.month.errors }}、検証エラーを表示することできます)。関連ドキュメント:https//docs.djangoproject.com/en/2.2/topics/forms/#rendering-fields-manually

あなたの当面の問題は、単一の<form>要素に重複した入力があること、つまり同じname属性を持つ入力があることだと思います入力の1つのセット(ラジオボタン)は{{ form }}テンプレートタグから取得され、もう1つのセットはテンプレートにハードコードされています。ハードコードされた入力を削除して、フォームが期待どおりに動作し始めるかどうかを確認してください。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

ボタンをクリックしてもフォームが表示されないのはなぜですか?

分類Dev

リボンボタンがフォームCRM365に表示されないのはなぜですか?

分類Dev

入力フォームの横にボタン要素が表示されないのはなぜですか?

分類Dev

オブジェクトを直接インスタンス化するときではなく、ポインタを使用するときにクラスメンバーのデフォルト値が使用されないのはなぜですか?

分類Dev

Xamarinフォームを使用するiOSアプリでFontAwesomeが表示されないのはなぜですか?

分類Dev

Djangoのログインフォームにエラーが表示されるのはなぜですか?

分類Dev

送信ボタンを押してもフォームが送信されないのはなぜですか?

分類Dev

display:inlineを使用した後、htmlフォームとボタンが中央に配置されないのはなぜですか。

分類Dev

デフォルトで選択されているラジオボタンを指定できないのはなぜですか?

分類Dev

Webフォームの[送信]ボタンをクリックすると、入力フィールドに値がある場合でも、入力フィールドの検証エラーが表示されるのはなぜですか?

分類Dev

javascriptファイルのifelseステートメントがラジオボタンに表示されないのはなぜですか?

分類Dev

左マージンがラジオボタンに適用されないのはなぜですか?

分類Dev

ラジオボタンが選択されていないときにjQueryアラートを表示するにはどうすればよいですか?

分類Dev

inline_formsetファクトリをレンダリングすると、親フォームが表示されないのはなぜですか?

分類Dev

ルートラインが表示されないのはなぜですか?xamarinフォーム

分類Dev

ページをリロードし、Laravel 6.0のラジオボタンの1つをチェックしなかったときに、一度に1つのフォームのみを表示するにはどうすればよいですか?

分類Dev

jQuery / javascriptを介して条件付きラジオボタンを渡すと、CSSスタイルシートが反映されないのはなぜですか?

分類Dev

「デフォルトのコンストラクターが複数あります」というエラーが表示されるのはなぜですか?

分類Dev

Djangoフォームにchoicenot availableエラーが表示されるのはなぜですか?

分類Dev

ボタンでsetText()を使用しようとすると、Android Studioでエラーが表示されるのはなぜですか?

分類Dev

このJFrameを実行すると、ボタンが表示されないのはなぜですか?

分類Dev

「エラー:アクションはプレーンオブジェクトである必要があります。非同期アクションにはカスタムミドルウェアを使用してください。」というメッセージが表示されるのはなぜですか。エラー?

分類Dev

フラグメントを切り替えるときにボタンのテキストが表示されないのはなぜですか?

分類Dev

ボタンが表示されないのはなぜですか?

分類Dev

オブジェクトのプロパティがコントローラーのパラメーター名と一致するのに、フォームがnullオブジェクトで投稿されるのはなぜですか

分類Dev

Inno Setupでカスタムページのラジオボタンがチェックされないのはなぜですか?

分類Dev

YYYYパターンでDateTimeFormatterを使用して日付をフォーマットすると、誤った年が表示されるのはなぜですか?

分類Dev

ラムダ式でフィルターを使用するとエラーが表示されるのはなぜですか?

分類Dev

パンダのデータフレーム。表示されるデータが保存されているデータと異なるのはなぜですか?

Related 関連記事

  1. 1

    ボタンをクリックしてもフォームが表示されないのはなぜですか?

  2. 2

    リボンボタンがフォームCRM365に表示されないのはなぜですか?

  3. 3

    入力フォームの横にボタン要素が表示されないのはなぜですか?

  4. 4

    オブジェクトを直接インスタンス化するときではなく、ポインタを使用するときにクラスメンバーのデフォルト値が使用されないのはなぜですか?

  5. 5

    Xamarinフォームを使用するiOSアプリでFontAwesomeが表示されないのはなぜですか?

  6. 6

    Djangoのログインフォームにエラーが表示されるのはなぜですか?

  7. 7

    送信ボタンを押してもフォームが送信されないのはなぜですか?

  8. 8

    display:inlineを使用した後、htmlフォームとボタンが中央に配置されないのはなぜですか。

  9. 9

    デフォルトで選択されているラジオボタンを指定できないのはなぜですか?

  10. 10

    Webフォームの[送信]ボタンをクリックすると、入力フィールドに値がある場合でも、入力フィールドの検証エラーが表示されるのはなぜですか?

  11. 11

    javascriptファイルのifelseステートメントがラジオボタンに表示されないのはなぜですか?

  12. 12

    左マージンがラジオボタンに適用されないのはなぜですか?

  13. 13

    ラジオボタンが選択されていないときにjQueryアラートを表示するにはどうすればよいですか?

  14. 14

    inline_formsetファクトリをレンダリングすると、親フォームが表示されないのはなぜですか?

  15. 15

    ルートラインが表示されないのはなぜですか?xamarinフォーム

  16. 16

    ページをリロードし、Laravel 6.0のラジオボタンの1つをチェックしなかったときに、一度に1つのフォームのみを表示するにはどうすればよいですか?

  17. 17

    jQuery / javascriptを介して条件付きラジオボタンを渡すと、CSSスタイルシートが反映されないのはなぜですか?

  18. 18

    「デフォルトのコンストラクターが複数あります」というエラーが表示されるのはなぜですか?

  19. 19

    Djangoフォームにchoicenot availableエラーが表示されるのはなぜですか?

  20. 20

    ボタンでsetText()を使用しようとすると、Android Studioでエラーが表示されるのはなぜですか?

  21. 21

    このJFrameを実行すると、ボタンが表示されないのはなぜですか?

  22. 22

    「エラー:アクションはプレーンオブジェクトである必要があります。非同期アクションにはカスタムミドルウェアを使用してください。」というメッセージが表示されるのはなぜですか。エラー?

  23. 23

    フラグメントを切り替えるときにボタンのテキストが表示されないのはなぜですか?

  24. 24

    ボタンが表示されないのはなぜですか?

  25. 25

    オブジェクトのプロパティがコントローラーのパラメーター名と一致するのに、フォームがnullオブジェクトで投稿されるのはなぜですか

  26. 26

    Inno Setupでカスタムページのラジオボタンがチェックされないのはなぜですか?

  27. 27

    YYYYパターンでDateTimeFormatterを使用して日付をフォーマットすると、誤った年が表示されるのはなぜですか?

  28. 28

    ラムダ式でフィルターを使用するとエラーが表示されるのはなぜですか?

  29. 29

    パンダのデータフレーム。表示されるデータが保存されているデータと異なるのはなぜですか?

ホットタグ

アーカイブ