Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在django中过帐未选中复选框值时出错_Python_Django_Checkbox_Web - Fatal编程技术网

Python 在django中过帐未选中复选框值时出错

Python 在django中过帐未选中复选框值时出错,python,django,checkbox,web,Python,Django,Checkbox,Web,我在Django表单Django v1.2中发布复选框的状态时遇到了问题 以下是我的模型中的字段: subscribe=models.BooleanFielddefault=False,verbose_name=subscribe 在相关模板文件中: {{form.subscribe} 这将使复选框最初显示为未选中。但是,当我在不涉及任何其他内容的情况下发布表单时,django会在request.post中发送u'subscribe':[u'on']。也就是说,无论复选框是否选中,响应始终包含u

我在Django表单Django v1.2中发布复选框的状态时遇到了问题

以下是我的模型中的字段:

subscribe=models.BooleanFielddefault=False,verbose_name=subscribe

在相关模板文件中:

{{form.subscribe}

这将使复选框最初显示为未选中。但是,当我在不涉及任何其他内容的情况下发布表单时,django会在request.post中发送u'subscribe':[u'on']。也就是说,无论复选框是否选中,响应始终包含u'subscribe':[u'on']

如果未选中该复选框,则模板中的标记将呈现为

并且,选中该复选框时,它将呈现为


我在这里遗漏了什么吗?

您的浏览器将值发布为“开”。这是未设置value=blah属性的复选框输入的正常行为。如果即使没有选中复选框,它也总是以“开”的状态发布,那么可能是浏览器端有什么东西在设置它。

表单验证后会得到什么?form.cleaned_data['subscribe']中的值是否根据复选框状态而变化?您可以发布ModelForm声明吗?问题可能在您的视图中,您是如何收集数据的?@cfedermann表单正在验证。我在表单验证后打印request.POST。它打印u'subscribe':[u'on']。模型表单没有任何特殊之处。除订阅之外的字段的一些干净函数。我还将一些样式应用于_uinit__;中的小部件。就这些@zallarak我从request.POST收集数据并保存如下表单:SubscriberFormrequest.POST,instance=user.save