gpt4 book ai didi

python - django form.is_valid() 总是返回 false

转载 作者:太空宇宙 更新时间:2023-11-04 01:15:55 25 4
gpt4 key购买 nike

在我看来,My is valid 函数似乎总是返回 false,即使帖子似乎发送了正确的数据(我认为)。我是 django 和 python 的新手,我正在使用 Django Docs 作为指南。我也在尝试使用 Dajax 中的 Django 表单示例来实现我的表单(我已经在同一个项目中成功安装并使用了 Dajax)。我的其他 Dajax 方法是 get 方法,我确信它们不会干扰我的帖子。

每次我点击帖子时,都会出现“表单无效”错误警报,我不确定为什么它不进入 if block 。

我在这里阅读了类似的问题,并仔细检查了我能想到的所有内容。如果有人可以帮助指出问题所在,我将不胜感激。我在下面粘贴所需的代码。

表单.py

class BedSelectForm(forms.Form):
Branch = forms.ModelChoiceField(
label = u'Branch',
queryset = Result.objects.values_list('branch', flat =True).distinct(),
empty_label = 'Not Specified',
widget = forms.Select(attrs = {'onchange' : "Dajaxice.modmap.updatecomboE(Dajax.process, {'optionB':this.value})"})
)
Env = forms.ModelChoiceField(
label = u'Environment',
queryset = Result.objects.values_list('environment', flat =True).distinct(),
empty_label = 'Not Specified',
widget = forms.Select(attrs = {'onchange' : "Dajaxice.modmap.updatecomboD(Dajax.process, {'optionE':this.value})"})
)
Disc = forms.ModelChoiceField(
label = u'Discipline',
queryset = Result.objects.values_list('discipline', flat =True).distinct(),
empty_label = 'Not Specified'

)

template.html

<form action="" method="post" id = "select_form">
<div style = "color :white" class="field_wrapper">
{{ form.as_p }}
</div>
<input type="button" value="Display Table" onclick="send_form();"/>
</form>

<script type="text/javascript">
function send_form(){
Dajaxice.modmap.dispTable(Dajax.process,{'form':$('#select_form').serialize(true)});
}
</script>

ajax.py

@dajaxice_register
def dispTable(request, form):
dajax = Dajax()
form = BedSelectForm(deserialize_form(form))

if form.is_valid():
dajax.remove_css_class('#select_form input', 'error')
dajax.alert("Form is_valid(), your username is: %s" % form.cleaned_data.get('Branch'))
else:
dajax.remove_css_class('#select_form input', 'error')
for error in form.errors:
dajax.add_css_class('#id_%s' % error, 'error')
dajax.alert("Form is_notvalid()")

return dajax.json()

这是我的帖子的样子..

argv    {"form":"Branch=Master&Env=ProdCoursera&Disc=ChemistryMOOC"}

最佳答案

尝试将 {{ form.non_field_errors }} 添加到您的模板中。这将向您显示与字段无关的错误。

此外,如果可以的话,为了调试,请执行此操作而不是 {{ form.as_p }}

{% for field in form.fields %}
<div>{{ field }}</div>
{% if field.errors %}
<div class="alert alert-danger">
{{ field.errors }}
</div>
{% endif %}
{% endfor %}

查看是否在 POSTing 上显示一些错误。

关于python - django form.is_valid() 总是返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24767788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com