Hi just started facing the same problem which you did in
chapter 7 . I tried using
return render_to_response('contact_form.html', {'form':
form},context_instance=RequestContext(request))
but still i get the following could you please tell me how
you resolved the issue...
Help
Reason given for failure:
CSRF token missing or incorrect.
In general, this can occur when there is a genuine Cross
Site Request Forgery, or when
Django's CSRF mechanism has not been
used correctly. For POST forms, you need to ensure:
- The view function uses
RequestContext
for
the template, instead of Context
.
- In the template, there is a
{% csrf_token %}
template tag inside each POST form that targets an
internal URL.
- If you are not using
CsrfViewMiddleware
,
then you must use csrf_protect
on any
views that use the csrf_token
template
tag, as well as those that accept the POST data.
You're seeing the help section of this page because you
have
DEBUG = True
in your Django settings
file. Change that to
False
, and only the
initial error message will be displayed.
You can customize this page using the CSRF_FAILURE_VIEW
setting.
> Date: Sun, 7 Aug 2011 09:10:36 +0200
> From:
rafadurancastan...@gmail.com
> To:
django-users@googlegroups.com
> Subject: Re: Problem with django book in Forms
chapter 7
>
> I had the same problem as you, since the book was
written using an older
> django version and there was some changes on csrf for
django version
> 1.2. Looking at django docs
>
https://docs.djangoproject.com/en/1.3/ref/contrib/csrf/#how-to-use-it
> you can read recommended way to use this
>
>
> On 06/08/11 23:05, bob gailer wrote:
> > I love the django book. Until I got to the
section "Tying Your First
> > Form Class".
> >
> > Problem:-"This class can live anywhere you want
— including directly
> > in your views.py file — but community convention
is to keep Form
> > classes in a separate file called forms.py.
Create this file in the
> > same directory as your views.py" The examples
then use from
> > contact.forms import ContactForm. Where did
contact come from? I had
> > to remove it to get the import to work!
> >
> > Then all is OK until "Tying Form Objects Into
Views". Here is where I
> > run into the
> > CSRF verification failed. Request aborted.
> > Reason given for failure: CSRF token missing or
incorrect."
> >
> > After much searching I found:
> >
> > from django.template import RequestContext
> > ...
> > form = ContactForm()
> > return render_to_response('contact_form.html',
{'form': form},
> >
> > context_instance=RequestContext(request))
> > and now it works.
> >
>
> --
> 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.
>