如何在Django BooleanField中手动调用check_test

时间:2014-03-08 17:57:41

标签: python django

在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 %} />

我做错了什么?

1 个答案:

答案 0 :(得分:0)

check_testCheckboxInput小部件的方法。我认为检查字段是否被检查的正确方法是:

{% if form.samplefield %} checked="checked"{% endif %}

顺便说一句,阅读docs for BooleanField似乎您的samplefield字段验证只有在检查字段时才会通过:

  

由于默认情况下所有Field子类都有required=True,因此此处的验证条件很重要。如果您希望在表单中包含可以为True或False的布尔值(例如,选中或取消选中),则必须记住在创建required=False时传递BooleanField