2013-11-24 7 views
5

Viewでの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に送られる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

。本当にありがとう。 –