Django's pretty error pages

Take a moment to admire the fine web application we've made so far-now let's break it! Let's deliberately introduce a Python error into our views.py file by commenting out the offset = int(offset) lines in the hours_ahead view:

def hours_ahead(request, offset):
     # try:
     #     offset = int(offset)
     # except ValueError:
     #     raise Http404()
     dt = datetime.datetime.now() + datetime.timedelta(hours=offset)
     html = "<html><body>In %s hour(s), it will be %s.
               </body></html>" % (offset, dt)
     return HttpResponse(html) 

Load up the development server and navigate to /time/plus/3/. You'll see an error page with a significant amount of information, including a TypeError message displayed at the very top: unsupported type for timedelta hours ...

Get Mastering Django: Core now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.