Hi all, I have a "vote" view and "detail" template in the Polls application that I am writing. The idea is that the user will see a "vote" page where they can select one of two radio buttons for a choice to the poll, and click "vote". This takes them to a "results" page where they can view the poll and its choices. That works fine. However, if a choice is not selected, the user should be sent to the "detail" page, where an error message will be shown stating that no choice was selected. This is not happening - when I haven't selected a choice, the "vote" page is reloaded upon submitting the form.
Please see the vote view and detail template code below: *VOTE VIEW* 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('myproject.polls.views.results', args=(p.id,))) *DETAIL TEMPLATE* <h1>{{ poll.question }}</h1> *{% if error_message %}<p><strong>{{ error_messsage }}</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> Any anomalies here? Thanks. -- Regards, Sithembewena Lloyd Dube http://www.lloyddube.com -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@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.