Python Django multiplechoicefield未在页面上呈现

Python Django multiplechoicefield未在页面上呈现,python,html,django,Python,Html,Django,我正在尝试获取一个包含姓名和月份的表单,并返回具有该姓名和月份的学生(考勤系统)。我正在对表单使用MultipleChiceField,但它不会在浏览器中呈现。我也在使用物化CSS。如何对该问题进行排序?我还手动呈现表单字段 forms.py: class attendenceFinder(forms.Form): months = ((1, 'JAN'), (2, 'FEB'), (3, 'MAR'), (4

我正在尝试获取一个包含姓名和月份的表单,并返回具有该姓名和月份的学生(考勤系统)。我正在对表单使用MultipleChiceField,但它不会在浏览器中呈现。我也在使用物化CSS。如何对该问题进行排序?我还手动呈现表单字段

forms.py:

class attendenceFinder(forms.Form):
    months = ((1, 'JAN'),
             (2, 'FEB'),
             (3, 'MAR'),
             (4, 'APR'),
             (5, 'MAY'),
             (6, 'JUN'),
             (7, 'JUL'),
             (8, 'AUG'),
             (9, 'SEP'),
             (10, 'OCT'),
             (11, 'NOV'),
             (12, 'DEC')
    )    

    name = forms.CharField()
    month = forms.MultipleChoiceField(widget=forms.SelectMultiple, choices=months)
class attendenceFinder(forms.Form):
    months = ((1, 'JAN'),
              (2, 'FEB'),
              (3, 'MAR'),
              (4, 'APR'),
              (5, 'MAY'),
              (6, 'JUN'),
              (7, 'JUL'),
              (8, 'AUG'),
              (9, 'SEP'),
              (10, 'OCT'),
              (11, 'NOV'),
              (12, 'DEC')
    )
 month = forms.MultipleChoiceField(choices=months, widget=forms.Select(
            choices=months,
            attrs={'class': 'browser-default'}))
attentince.html:

<form action="/get_attendence/", method="post">
<div class="container">
        {{ form.non_field_errors }}
    <div class="fieldWrapper">
        {{ form.name.errors }}
        <label for="{{ form.name.id_for_label }}">Name</label>
        {{ form.name }}
    </div>
    <div class="fieldWrapper">
        {{ form.month.errors }}
        <label for="{{ form.month.id_for_label }}">{{form.month}}
            <span>{{ form.month.label }}</span>
        </label>
    </div>
    <button class="waves-effect waves-light btn-large lime accent-2 black-text" type="submit" name="action">Submit
    <i class="material-icons right">send</i>
    </div>
</form>

{{form.non_field_errors}}
{{form.name.errors}
名称
{{form.name}
{{form.month.errors}}
{{form.month}
{{form.month.label}
提交
发送
页面来源:

   <div class="fieldWrapper">

        <select name="month" required id="id_month" multiple>
  <option value="1">JAN</option>

  <option value="2">FEB</option>

  <option value="3">MAR</option>

  <option value="4">APR</option>

  <option value="5">MAY</option>

  <option value="6">JUN</option>

  <option value="7">JUL</option>

  <option value="8">AUG</option>

  <option value="9">SEP</option>

  <option value="10">OCT</option>

  <option value="11">NOV</option>

  <option value="12">DEC</option>

</select>
        <span>Month</span>

    </div>

简
功能电子块
破坏
四月
也许
六月
七月
AUG突击步枪
九月
十月
十一月
十二月
月
浏览器中的表单:


“名称”字段呈现良好,但“月份”多项选择没有。Materialize CSS希望看到带有class=“browser default”的标记。但是,Django表单不添加该类。因此,必须在forms.py中传递以下内容:

class attendenceFinder(forms.Form):
    months = ((1, 'JAN'),
              (2, 'FEB'),
              (3, 'MAR'),
              (4, 'APR'),
              (5, 'MAY'),
              (6, 'JUN'),
              (7, 'JUL'),
              (8, 'AUG'),
              (9, 'SEP'),
              (10, 'OCT'),
              (11, 'NOV'),
              (12, 'DEC')
    )
 month = forms.MultipleChoiceField(choices=months, widget=forms.Select(
            choices=months,
            attrs={'class': 'browser-default'}))
所有功劳都归于此链接:


具体化CSS希望看到带有class=“browser default”的标记。但是,Django表单不添加该类。因此,必须在forms.py中传递以下内容:

class attendenceFinder(forms.Form):
    months = ((1, 'JAN'),
              (2, 'FEB'),
              (3, 'MAR'),
              (4, 'APR'),
              (5, 'MAY'),
              (6, 'JUN'),
              (7, 'JUL'),
              (8, 'AUG'),
              (9, 'SEP'),
              (10, 'OCT'),
              (11, 'NOV'),
              (12, 'DEC')
    )
 month = forms.MultipleChoiceField(choices=months, widget=forms.Select(
            choices=months,
            attrs={'class': 'browser-default'}))
所有功劳都归于此链接:


Django材质对于使用Materializecss的表单呈现非常有用。这是该项目的链接

Django材质对于使用Materializecss的表单渲染非常有用。这是该项目的链接

为什么要将字段包装在中?我在其他一些问题中看到了这一点,并认为这可能有助于呈现,因为Materialize CSS。HTML在浏览器中显示了什么?(只是问题中的部分)我在问题中添加了一个页面来源。如果这是你想要的?正如你所看到的,有很多选择。你不应该把这个字段放在里面,为什么你要把这个字段包装在里面?我在其他一些问题中看到了这一点,并认为它可能有助于呈现,因为具体化CSS。HTML在你的浏览器中显示了什么?(只是问题中的部分)我在问题中添加了一个页面来源。如果这是你想要的?正如你所看到的,有很多选择。你不应该把它放在盒子里