我有一个简单的HTML表单,我正试图用Django表单验证它。问题是,Django的表单验证将只识别
is_kit
如果是
'True'
. (当它是
'False'
,它将给出一个错误,说明该字段是必需的。这是表格:
<form method="post"> {% csrf_token %}
<input type="hidden" name="part_id" value="{{ part.id }}" />
<input type="hidden" name="is_kit" value="False" />
<input type="submit" class="btn btn-link" value="Add to Cart"/>
</form>
这是Django表格:
class AddItemToCartForm(forms.Form):
part_id = forms.IntegerField()
is_kit = forms.BooleanField()
以下是我观点的相关部分:
def post(self, request, id):
print(request.POST)
print(request.POST.get('is_kit'))
form = AddItemToCartForm(request.POST)
print(form.errors)
我的服务器给出的输出如下:
<QueryDict: {'is_kit': ['False'], 'part_id': ['1'], 'csrfmiddlewaretoken': ['X2vkpwG6GJmK79vypFPAveTzVkrxBauJWgfnRvAtJVcZ8NwBokjQhCnfGN9dFFYF']}>
False
<ul class="errorlist"><li>is_kit<ul class="errorlist"><li>This field is required.</li></ul></li></ul>
我认为我的模板应该可以工作,因为
the source code
,
forms.BooleanField
应转换字符串
“假”
在发布数据到python中
False
价值。
正如我上面提到的,如果
伊萨克试剂盒
设置为
“真”
.