我已经为这个问题摸索了几个小时,所以现在轮到你了:)
我制作了一个在__init__
. 除此之外它做什么/为什么不是很重要,所以这里有一个非常简化的例子,它仍然表现出同样的问题:
class TestForm(forms.Form):
def __init__(self, variable, *args, **kwargs):
super(TestForm, self).__init__(args, kwargs)
for i in range(0, variable):
self.fields['f_%d' % i] = forms.BooleanField(label="Field %d" % i)
# and in the view:
return render(request, 'survey/form.html', {'f': TestForm(variable=10)})
而模板只是{{f.as_p}}
. 该代码有效,但它也包含错误消息。每个 BooleanFields 中有 10 个错误表明它们是必需的。但我没有发布任何内容,当然也没有将任何发布数据传递给 TestForm。您在上面看到的是我正在运行的内容(自己尝试一下)。
那么我做错了什么?表格是否正在运行is_valid()
,如果是,为什么?