What did I screw up?

TemplateSyntaxError at /polls/1/
Invalid block tag: 'csrf_token'
Request Method: GET
Request URL:    http://localhost:8000/polls/1/
Exception Type: TemplateSyntaxError
Exception Value:        
Invalid block tag: 'csrf_token'
Exception Location:     /Library/Python/2.6/site-packages/django/template/ 
__init__.py in invalid_block_tag, line 335
Python Executable:      /usr/bin/python
Python Version: 2.6.1


The forms bit.

views.py:

# Create your views here.
from django.template import Context, loader
from mysite.polls.models import Choice, Poll
from django.http import HttpResponse
from django.shortcuts import render_to_response, get_object_or_404
from django.http import Http404
from django.template import RequestContext
# ...

def index(request):
     latest_poll_list = Poll.objects.all().order_by('-pub_date')[:5]
     return render_to_response('polls/index.html',  
{'latest_poll_list': latest_poll_list})

def detail(request, poll_id):
     p = get_object_or_404(Poll, pk=poll_id)
     return render_to_response('polls/detail.html', {'poll': p},
                                context_instance=RequestContext 
(request))

def results(request, poll_id):
     return HttpResponse("You're looking at the results of poll %s." %  
poll_id)

def vote(request, poll_id):
     p = get_object_or_404(Poll, pk=poll_id)
     try:
         selected_choice = p.choice_set.get(pk=request.POST['choice'])
     except (KeyError, Choice.DoesNotExist):
         # Redisplay the poll voting form.
         return render_to_response('polls/detail.html', {
             'poll': p,
             'error_message': "You didn't select a choice.",
         }, context_instance=RequestContext(request))
     else:
         selected_choice.votes += 1
         selected_choice.save()
         # Always return an HttpResponseRedirect after successfully  
dealing
         # with POST data. This prevents data from being posted twice  
if a
         # user hits the Back button.
         return HttpResponseRedirect(reverse 
('mysite.polls.views.results', args=(p.id,)))

detail.html:

<h1>{{ poll.question }}</h1>

{% if error_message %}<p><strong>{{ error_message }}</strong></p>{%  
endif %}

<form action="/polls/{{ poll.id }}/vote/" method="post">
{% csrf_token %}
{% for choice in poll.choice_set.all %}
     <input type="radio" name="choice" id="choice 
{{ forloop.counter }}" value="{{ choice.id }}" />
     <label for="choice{{ forloop.counter }}">{{ choice.choice }}</ 
label><br />
{% endfor %}
<input type="submit" value="Vote" />
</form>



--~--~---------~--~----~------------~-------~--~----~
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