📅  最后修改于: 2023-12-03 15:03:18.380000             🧑  作者: Mango
在 Django 表单中,NullBooleanField
是一个布尔值字段,可以存储三个不同的值:True、False 或者 Null。表示此字段可以接受空值。
在一个 forms.py 文件里,可以这样定义一个 NullBooleanField
字段:
from django import forms
class ExampleForm(forms.Form):
my_field = forms.NullBooleanField()
这里 my_field
是 NullBooleanField
字段的实例。这个字段在表单中将展示为一个单选按钮,其中有三个选项:是(True)、否(False)、不清楚(Null)。
除了标准的字段参数外,NullBooleanField
还支持以下参数:
required
:指定字段是否是必填项。默认为 False。widget
:指定表单元素的类型。默认为 Django 自带的 NullBooleanSelect 组件。在一个模板中,可以这样渲染一个 NullBooleanField
字段:
<form method="POST">
{% csrf_token %}
{% for field in form %}
<div class="form-group{% if field.errors %} has-error{% endif %}">
<label class="control-label">{{ field.label }}</label>
<div class="controls">
{{ field }}
</div>
{% if field.errors %}
<span class="help-block">{{ field.errors|join:", " }}</span>
{% endif %}
</div>
{% endfor %}
<button type="submit" class="btn btn-primary">提交</button>
</form>
这里的 form
就是 ExampleForm
的实例。在模板中,我们使用一个 for 循环遍历表单中的每个字段,并按照 HTML 结构渲染出表单元素。
NullBooleanField
可以用于接受三种不同的输入:是、否和不清楚。它通常用于yes/no询问,但也可以用于表示用户是否做出了某个选择。