擅长:python、mysql、java
<p>如果没有特定的<code>clean</code>方法,Django仍将验证表单中的所有字段,以确保所有必需字段都存在,在必要时它们具有正确的类型,并且具有选项的字段具有与其中一个选项对应的值。在</p>
<p>此表单有几个问题可能会导致您的问题。首先,重写了<code>__init__</code>,这样<code>self</code>后面的第一个参数是<code>numbers</code>。但是,当您实例化表单时,您不传递这个参数-您只需传递<code>request.POST</code>。在</p>
<p>第二,像在<code>__init__</code>中那样动态地向<code>self.fields</code>添加字段是个坏主意。相反,用一个空的<code>choices</code>列表声明您的<code>number</code>字段,并在<code>__init__</code>中设置它:</p>
<pre><code>self.fields['number'].choices = numbers
</code></pre>