Book Image

Mastering Django: Core

By : Nigel George
Book Image

Mastering Django: Core

By: Nigel George

Overview of this book

Mastering Django: Core is a completely revised and updated version of the original Django Book, written by Adrian Holovaty and Jacob Kaplan-Moss - the creators of Django. The main goal of this book is to make you a Django expert. By reading this book, you’ll learn the skills needed to develop powerful websites quickly, with code that is clean and easy to maintain. This book is also a programmer’s manual that provides complete coverage of the current Long Term Support (LTS) version of Django. For developers creating applications for commercial and business critical deployments, Mastering Django: Core provides a complete, up-to-date resource for Django 1.8LTS with a stable code-base, security fixes and support out to 2018.
Table of Contents (33 chapters)
Mastering Django: Core
Credits
About the Author
www.PacktPub.com
Preface
Free Chapter
1
Introduction to Django and Getting Started

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 import render 
from books.models import Book 
 
def search_form(request): 
    return render(request, 'search_form.html') 
 
def search(request): 
    if 'q' in request.GET and request.GET['q...