我有一张表格:
class myForm(forms.Form):
myBoolField = forms.BooleanField(
label='myLabel',
required=True,
)
以下是相应的模板:
<form action="." method="post" enctype="application/x-www-form-urlencoded">
{% csrf_token %}
{{ form.as_p }}
<div class="form-actions">
<button type="submit" class="btn btn-primary">Submit</button>
<a class="btn" href="{{ secondary_action_url }}">{{ secondary_action_text }}</a>
</div>
</form>
当Django呈现此模板时,myField显示为空复选框。 如果我选中该框,则按下提交按钮会为清除的myField值生成“True”。 但是,如果我将框保持为空并点击提交按钮,而不是获得“假”,我将获得无。那根本不是我想要的。我希望此复选框返回True或False。
我该怎么做让它像我想要的那样工作(并期待)?我期望一个必需的布尔字段返回True或False错位?
答案 0 :(得分:6)
class myForm(forms.Form):
myBoolField = forms.BooleanField(
label='myLabel',
required=False,
initial=False
)
如果您不想深入了解此主题,这可以防止任何进一步的错误
编辑后编辑后编辑:通过标记required = True,您明确请求用户输入。默认情况下,未选中的复选框不会被提交(“无”值来自的位置),并且由于需要,您的验证将每次都失败。