在views.py中有一段代码:
if form.is_valid ():
try:
obj.family = form.cleaned_data.get ('login')
obj.save ()
except DatabaseError:
return HttpResponseRedirect ('/ DBerror /')
else:
return HttpResponseRedirect ('/ ok_page /')
如果记录成功,它会将用户转发到特定页面。如果记录代码失败,则将用户重定向到另一个页面。
错误信息(/ DBerror /)页面必须自己完成所有操作。
是否没有一种方法可以将用户引导到带有错误消息的标准页面?
似乎您正在使用标准的Django表单,因此在出现错误时不应重定向。相反,您的代码应如下所示:
from django.shortcuts import render
from django.http import HttpResponseRedirect
def contact(request):
if request.method == 'POST': # If the form has been submitted...
# ContactForm was defined in the previous section
form = ContactForm(request.POST) # A form bound to the POST data
if form.is_valid(): # All validation rules pass
# Process the data in form.cleaned_data
# ...
return HttpResponseRedirect('/thanks/') # Redirect after POST
else:
form = ContactForm() # An unbound form
return render(request, 'contact.html', {
'form': form,
})
在您的模板代码中,每个错误字段都会有其可用的错误{{ field.errors }}
,您可以在其中显示给用户。
在https://docs.djangoproject.com/en/dev/topics/forms/上了解更多信息,以了解它们如何组合在一起。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句