在models.py中给出以下内容:
class SampleForm(forms.Form):
samplefield = forms.BooleanField(initial=True, required=True)
如果在我看来,我输入{{ form.samplefield }}
,则所有内容都会按预期生成。
但是,如果我想要将其分解并更精确地使用该字段,我似乎无法以我期望的方式工作check_test
。这不起作用:
<input type="checkbox" name="{{ form.samplefield.name }}" id="{{ form.samplefield.id_for_label }}"{% if form.samplefield.check_test %} checked="checked"{% endif %} />
我做错了什么?
答案 0 :(得分:0)
check_test
是CheckboxInput
小部件的方法。我认为检查字段是否被检查的正确方法是:
{% if form.samplefield %} checked="checked"{% endif %}
顺便说一句,阅读docs for BooleanField似乎您的samplefield
字段验证只有在检查字段时才会通过:
由于默认情况下所有Field子类都有
required=True
,因此此处的验证条件很重要。如果您希望在表单中包含可以为True或False的布尔值(例如,选中或取消选中),则必须记住在创建required=False
时传递BooleanField
。