Improving our simple form-handling example

As in previous chapters, I've shown you the simplest thing that could possibly work. Now I'll point out some problems and show you how to improve it. First, our search() view's handling of an empty query is poor-we're just displaying a Please submit a search term. message, requiring the user to hit the browser's back button.

This is horrid and unprofessional, and if you ever actually implement something like this in the wild, your Django privileges will be revoked. It would be much better to redisplay the form, with an error preceding to it, so that the user can try again immediately. The easiest way to do that would be to render the template again, like this:

from django.http import HttpResponse from django.shortcuts ...

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.