2013-11-24 17 views
5

Często używam ModelForm w widokach do wyświetlania i tłumaczenia widoków. Nie mam problemu z wyświetleniem formularza w szablonie. Mój problem polega na tym, że kiedy pracuję z nimi, formularze często nie są sprawdzane za pomocą metody is_valid. Problem polega na tym, że nie wiem, co powoduje błąd sprawdzania poprawności.Wyświetlanie błędów sprawdzania poprawności formularza django dla ModelForms

Oto prosty przykład w widokach:

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}) 

wiem, że forma nie jest sprawdzanie, bo jestem przekierowywany do szablonu failed.html, ale nigdy nie wiadomo, dlaczego .is_valid jest fałszywe. Jak mogę to ustawić, aby pokazać mi błędy sprawdzania formularza?

Odpowiedz

6

kilka rzeczy:

  1. Nie biorą POST wysyłane do POST.

  2. Aby wyświetlić komunikat o błędzie, należy przywrócić ten sam szablon.

Spróbuj tego:

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

jestem idiotą. wielkie dzięki. –

Powiązane problemy