Apologies for the font. Would you guys mind elaborating how I would re-display the form, with the validation errors? I am trying to follow the print version of the Djangobook, and it's been brilliant up to this point. There's nothing mentioned in the template about errors.
On Thu, May 26, 2011 at 5:16 PM, Daniel Roseman <dan...@roseman.org.uk>wrote: > On Thursday, May 26, 2011 11:18:39 AM UTC+1, Nikhil Somaru wrote: > >> Hi all, >> >> I am testing the form validation. When I try and submit an empty form, I >> get: >> >> ValueError at /contact/ >> >> The view djangobook.contact.views.contact didn't return an HttpResponse >> object. >> >> >> # ---------------------------------- contact.views: >> ---------------------------------------------------# >> >> from django.core.mail import send_mail >> from django.template import RequestContext >> from django.shortcuts import render_to_response >> from django.http import HttpResponseRedirect >> from djangobook.contact.forms import ContactForm >> >> def contact(request): >> if request.method == 'POST': >> form = ContactForm(request.POST) >> if form.is_valid(): >> cd = form.cleaned_data >> send_mail( >> cd['subject'], >> cd['message'], >> cd.get('email', 'nso...@gmail.com'), >> ['nso...@gmail.com'], >> >> fail_silently=False, >> ) >> return HttpResponseRedirect('/contact/thanks') >> else: >> form = ContactForm() >> return render_to_response('books/contact_form.html', >> RequestContext(request, {'form': form})) >> # Required for CSRF? >> >> # ---------------------------------- forms.py: >> ---------------------------------------------------# >> from django import forms >> >> class ContactForm(forms.Form): >> subject = forms.CharField() >> email = forms.EmailField(required=False) >> message = forms.CharField() >> >> >> # ---------------------------------- books/contact_form.html: >> ---------------------------------------------------# >> <html> >> <head> >> <title>Contact Us</title> >> </head> >> <body> >> <h1>Contact Us</h1> >> {% if form.errors %} >> <p style="color: red;"> >> Please correct the error{{ form.errors|pluralize }} below. >> </p> >> {% endif %} >> <form action="" method="post">{% csrf_token %} >> <table> >> {{ form.as_table }} >> </table> >> <input type="submit" value="Submit" /> >> </form> >> </body> >> </html> >> # >> ------------------------------------------------------------------------------------------------------------------------------------# >> >> Could anyone explain: >> 1) why the form is not validating >> 2) How exactly the errors will be displayed? >> >> >> -- >> Yours, >> Nikhil Somaru >> >> > You need to move the final `return render_to_response` back one indentation > level. > > Please fix your font size when posting here. > -- > DR. > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To post to this group, send email to django-users@googlegroups.com. > To unsubscribe from this group, send email to > django-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/django-users?hl=en. > -- Yours, Nikhil Somaru -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.