title: Why can't I get radio buttons when using RadioSelect form in Django?
body: <p>I am working to build a page where the user can select a month via the use of radio buttons.  I also need to collect other information with this such as first name, last name, email, phone number, and company.  In doing this, I figured using Django forms should get the job done.  I began and implemented everything and got to the part for the radio buttons.  I found out I needed to do this using the ChoiceField and that RadioSelect is a widget of it.  All of my choices are showing up, but I can't click on any of them to select them.  Also, this is going to be a required question, and I am not sure how to make this a required form, as it can be left blank and I see it still will POST with no issues.</p>
  
  <p>I googled everything under the sun.  I tried to set an initial selection for it, hoping that it would display at least one radio button, but that didn't do it.  I tried just doing widget=forms.Select() instead of RadioSelect() and still the months display, but I can't select any of them.  Not sure what to do.  This is utilizing Django 2.1 if that helps.  </p>
  
  <p><strong>index.html</strong>  --- Please note that while I do have a place for month radio buttons here, I am trying to not have them in the template and would prefer them in the form.py file
      {% extends 'landingpage/layout.html' %}</p>
  
  <pre><code>{% block content %}
  &lt;div class="h1 col s3 left-align grey lighten-4" style="font-family: 'Exo', sans-serif;"&gt;Welcome to FaithGuard&lt;/div&gt;
  &lt;div class="div"&gt;
          &lt;br&gt;
          &lt;br&gt;
          &lt;br&gt;
          &lt;br&gt;
  &lt;/div&gt;
  
  &lt;div class="row" style="font-family: 'Exo', sans-serif;"&gt;
  
  
          &lt;form method='POST' class="col s6"&gt; {% csrf_token %}
  {{ form }}
  
  &lt;div class="h1 col s6 grey lighten-4 radioRequired"&gt;Date of renewal/expiration&lt;/div&gt;
  &lt;br&gt;
  &lt;br&gt;
  
  &lt;div class="div" id ="Exiration Month Div"&gt;
                  &lt;p&gt;
                    &lt;label&gt;
                      &lt;input name="month" value ="January" type="radio" /&gt;
                      &lt;span&gt;January&lt;/span&gt;
                    &lt;/label&gt;
           &lt;label&gt;
             &lt;input name="month" value ="February" type="radio" /&gt;
            &lt;span&gt;February&lt;/span&gt;
          &lt;/label&gt;
  
           &lt;label&gt;
           &lt;input name="month" value="March" type="radio"  /&gt;
           &lt;span&gt;March&lt;/span&gt;
           &lt;/label&gt;
           &lt;label&gt;
            &lt;input name="month" value="April" type="radio" /&gt;
             &lt;span&gt;April&lt;/span&gt;
          &lt;/label&gt;
                  &lt;/p&gt;
  
  
                  &lt;p&gt;
                    &lt;label&gt;
                      &lt;input name="month" value="May" type="radio" /&gt;
                      &lt;span&gt;May&lt;/span&gt;
                    &lt;/label&gt;
                                      &lt;label&gt;
                      &lt;input name="month" value="June" type="radio" /&gt;
                      &lt;span&gt;June&lt;/span&gt;
                    &lt;/label&gt;
                                      &lt;label&gt;
                      &lt;input name="month" value="July" type="radio" checked/&gt;
                      &lt;span&gt;July&lt;/span&gt;
                    &lt;/label&gt;
                                      &lt;label&gt;
                      &lt;input name="month" value="August" type="radio" /&gt;
                      &lt;span&gt;August&lt;/span&gt;
                    &lt;/label&gt;
                  &lt;/p&gt;
                  &lt;p&gt;
                    &lt;label&gt;
                      &lt;input name="month" value="September" type="radio"  /&gt;
                      &lt;span&gt;September&lt;/span&gt;
                    &lt;/label&gt;
                                      &lt;label&gt;
                      &lt;input name="month" value="October" type="radio" /&gt;
                      &lt;span&gt;October&lt;/span&gt;
                    &lt;/label&gt;
                                      &lt;label&gt;
                      &lt;input name="month" value="November" type="radio" /&gt;
                      &lt;span&gt;November&lt;/span&gt;
                    &lt;/label&gt;
                                      &lt;label&gt;
                      &lt;input name="month" Value="December" type="radio" /&gt;
                      &lt;span&gt;December&lt;/span&gt;
                    &lt;/label&gt;
                  &lt;/p&gt;
  &lt;div class="div right-align"&gt;
  &lt;button class="btn waves-effect waves-light" type="submit" name="action"&gt;Submit&lt;/button&gt;
  &lt;/div&gt;
  
  &lt;/div&gt;
                &lt;/form&gt;
  
        &lt;/div&gt;
  
  {% endblock %}
  </code></pre>
  
  <p><strong>views.py</strong></p>
  
  <pre><code>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)
  </code></pre>
  
  <p><strong>forms.py</strong></p>
  
  <pre><code>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())
  </code></pre>
  
  <p>What I am expecting from this is for the months to display with radio buttons the user can select from</p>
  
  <p><a href="https://i.stack.imgur.com/FOb3l.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/FOb3l.png" alt="This is what I see after removing the hardcoded inputs from the template"></a></p>