2013-11-24 23 views
5

我经常发现自己在视图中使用ModelForm来显示和翻译视图。我无法在模板中显示表单。我的问题是,当我使用这些工具时,这些表单通常不会使用is_valid方法进行验证。问题是我不知道是什么导致了验证错误。在ModelForms中显示django表单验证错误

这里是景色一个基本的例子:

def submitrawtext(request): 
    if request.method == "POST": 
     form = SubmittedTextFileForm() 
     if form.is_valid(): 
      form.save() 
      return render(request, 'upload_comlete.html') 
     return render(request, 'failed.html') 
    else: 
     form = SubmiittedTextFileForm() 
     return render(request, 'inputtest.html', {'form': form}) 

我知道,形式不确认,因为我重定向到failed.html模板,但我从来不知道为什么.is_valid是假的。我怎样才能设置它来显示表单验证错误?

回答

6

几件事情:

  1. 你是不是服用POST被送到邮局。

  2. 要查看错误消息,您需要渲染回相同的模板。

试试这个:

def submitrawtext(request): 
    if request.method == "POST": 
     form = SubmittedTextFileForm(request.POST) 
     if form.is_valid(): 
      form.save() 
      return render(request, 'upload_comlete.html') 
     else: 
      print form.errors #To see the form errors in the console. 
    else: 
     form = SubmittedTextFileForm() 
    # If form is not valid, this would re-render inputtest.html with the errors in the form. 
    return render(request, 'inputtest.html', {'form': form}) 
+0

我是个白痴。谢谢一堆。 –