2013-11-24 44 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

我是個白癡。謝謝一堆。 –