Starting the Survey voting implementation
In Chapter 4, Getting Fancier: Django Unit Test Extensions, we began developing code to serve pages for the survey
application. We implemented the home page view. This view generates a page that lists both active and recently closed surveys and provides links, as appropriate, to either take an active survey or display results from a closed survey. Both of these kinds of links route to the same view function, survey_detail
, which further routes the request based on the state of the Survey
for which details have been requested:
def survey_detail(request, pk): survey = get_object_or_404(Survey, pk=pk) today = datetime.date.today() if survey.closes < today: return display_completed_survey(request, survey) elif survey.opens > today: raise Http404("%s does not open until %s; it is only %s" % (survey.title, survey.opens, today)) else: return display_active_survey(request, survey)
We did...