我有一个表格:
class myForm(forms.Form):
myBoolField = forms.BooleanField(
label='myLabel',
required=True,
)
Run Code Online (Sandbox Code Playgroud)
这是相应的模板:
<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>
Run Code Online (Sandbox Code Playgroud)
当Django呈现此模板时,myField显示为空复选框.如果我选中该框,则按下提交按钮会为清除的myField值生成"True".但是,如果我将框保持为空并点击提交按钮,而不是获得"假",我将获得无.那根本不是我想要的.我希望此复选框返回True或False.
我该怎么做才能使它像我想要的那样工作(并期待)?我期望必需的布尔字段返回True或False放错位置吗?
class myForm(forms.Form):
myBoolField = forms.BooleanField(
label='myLabel',
required=False,
initial=False
)
Run Code Online (Sandbox Code Playgroud)
如果您不想深入了解此主题,这可以防止任何进一步的错误
编辑后编辑后编辑:通过标记required = True,您明确请求用户输入.默认情况下,未提交未选中的复选框(这是None值的来源),并且由于需要,您的验证将每次都失败.
| 归档时间: |
|
| 查看次数: |
6791 次 |
| 最近记录: |