No, that’s not the cause, the lack of it would be. That line shows the content of ‘error_message' when it does exist and has a value other than None. But if you have it in your template the error must be somewhere else in your code. Must be a simple syntax mistake you didn’t notice, either in the template file or in the vote view.
To be sure that your code is raising an exception you can place a print statement right after the except, before the call to render. Replace the call to render with these lines, they do the same but also print a message in the console: except (KeyError, Choice.DoesNotExist): # redisplay the question voting form context = { 'question': p, 'error_message': "You didn't select a choice.", } print("context: ", context) return render(request, 'polls/detail.html', context) Click vote again and see what’s the output when you click on “Vote” without selecting any choice. The text of the print statement will show up in the console where you launched `python manage.py runserver`. If you see the output “context: “ and the ‘error_message’ string with the actual message, then you have a syntax mistake in your template. Otherwise it’s in your view. Cheers On 29 Sep 2014, at 14:55, zaiks0105 <lah...@gmail.com> wrote: > I do. Is that line causing the behavior? > > > > On Monday, September 29, 2014 7:15:47 AM UTC-4, Daniel Rus Morales wrote: > Hi Zaiks0105, > > Do you have the following line in "your polls/templates/polls/detail.html”? > > {% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %} > > On 29 Sep 2014, at 12:48, zaiks0105 <lah...@gmail.com> wrote: > >> Hi, >> >> I am following Django official tutorial and have unanswered issue at part 4, >> https://docs.djangoproject.com/en/1.7/intro/tutorial04/. Here is the >> exception handling code, >> >> except (KeyError, Choice.DoesNotExist): >> # Redisplay the question voting form. >> return render(request, 'polls/detail.html', { >> 'question': p, >> 'error_message': "You didn't select a choice.", >> }) >> >> When I run the server and click on [Vote] without selecting a choice, the >> page does NOT show me the error message. The same voting page comes back as >> if [Vote] was not clicked. >> I checked my lines and everything seems identical per tutorial. >> >> Any help appreciated! >> Thanks >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Django users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to django-users...@googlegroups.com. >> To post to this group, send email to django...@googlegroups.com. >> Visit this group at http://groups.google.com/group/django-users. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/django-users/69aaa1bb-5371-4aec-ae1f-fb44880e46b3%40googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. > > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to django-users+unsubscr...@googlegroups.com. > To post to this group, send email to django-users@googlegroups.com. > Visit this group at http://groups.google.com/group/django-users. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/2adefa94-7801-48ad-af1f-1d5ec10ada86%40googlegroups.com. > For more options, visit https://groups.google.com/d/optout.
signature.asc
Description: Message signed with OpenPGP using GPGMail