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.

Reply via email to