request.POST.get(&#39; <booleanfield>&#39;)总是返回&#39; on&#39;在Django(1.8)

时间:2015-07-08 20:00:12

标签: python ajax django django-forms django-views

我试图从视图中的django表单中提取数据。我正在使用request.POST.get()。我知道form.cleaned_data []是首选,但是我无法使用它,因为它与我的表单需要的Ajax不兼容(form.is_valid()总是返回false;如果有人有解决这个问题,这也很棒。)

无论如何,我的表单有一些BooleanFields:

distributive = forms.BooleanField(widget=forms.CheckboxInput(attrs={'id':'distributive'}),required=False)
transitivity = forms.BooleanField(widget=forms.CheckboxInput(attrs={'id':'transitivity'}),required=False)

这些字段是否经过检查&#34;或者不是用户,request.POST.get()返回&#39; on&#39;。

以下是我在视图中的代码:

def post(self, request):
    form = VerbQueryForm(request.POST)
    transitivity = request.POST.get('transitivity')
    distributive = request.POST.get('distributive')

我正在寻找的是:

一个。 (理想,但不是这篇文章的重点)使用form.is_valid()和cleaning_data与Ajax的方法

B中。获取request.POST.get()以返回布尔值

的方法

℃。一种获取request.POST.get()以始终返回字符串的方法&#39; true&#39;并且&#39; false&#39; (或任何两个字符串),以便我可以使用类似的方法解决问题:

transitivity = request.POST.get('transitivity') == 'true'

非常感谢任何帮助。谢谢!

0 个答案:

没有答案