You are previewing Pro Django, Second Edition.
O'Reilly logo
Pro Django, Second Edition

Book Description

Learn how to leverage Django, the leading Python web application development framework, to its full potential in this advanced tutorial and reference. Updated for Django 1.5 and Python 3, Pro Django, Second Edition examines in great detail the complex problems that Python web application developers can face and how to solve them. It provides in-depth information about advanced tools and techniques available in every Django installation, running the gamut from the theory of Django's internal operations to actual code that solves real-world problems for high-volume environments.

With Pro Django, Second Edition you'll learn how to:

  • Use Django's models, views, forms, and templates

  • Handle HTTP and customizing back ends

  • Get the most out of Django's common tooling

  • Employ Django in various environments

  • Build an API using Django's own components

  • Make this code reusable—even distributable

Pro Django, Second Edition goes above and beyond other books, leaving the basics far behind and showing how Django can do things even its core developers never expected. By drawing on the dynamic nature of Python, you can write Django applications that stretch the limits of what you thought possible!

What you'll learn

  • See how to use Django's models, views, forms, and templates

  • Handle HTTP and customizing back ends

  • Use Django's common tooling

  • Employ Django in various environments

  • Build a business software suite for use in the corporate world

  • Make this code reusable—even distributable

Who this book is for

This book is for companies looking for a framework capable of supporting enterprise needs, as well as advanced Python or web developers looking to solve unusual, complex problems.

Table of Contents

  1. Title Page
  2. Dedication
  3. Contents at a Glance
  4. Contents
  5. About the Author
  6. About the Technical Reviewers
  7. Acknowledgments
  8. Preface
  9. Introduction
  10. CHAPTER 1: Understanding Django
    1. Philosophy
    2. Community
    3. Now What?
  11. CHAPTER 2: Django Is Python
    1. How Python Builds Classes
    2. Common Duck Typing Protocols
    3. Augmenting Functions
    4. Descriptors
    5. Introspection
    6. Applied Techniques
    7. Now What?
  12. CHAPTER 3: Models
    1. How Django Processes Model Classes
    2. Getting Information About Models
    3. Using Model Fields
    4. Subclassing Fields
    5. Dealing with Files
    6. Signals
    7. Applied Techniques
    8. Now What?
  13. CHAPTER 4: URLs and Views
    1. URLs
    2. Function-Based Views
    3. Class-Based Views
    4. Applied Techniques
    5. Now What?
  14. CHAPTER 5: Forms
    1. Declaring and Identifying Fields
    2. Binding to User Input
    3. Custom Fields
    4. Defining HTML Behavior
    5. Applied Techniques
    6. Now What?
  15. CHAPTER 6: Templates
    1. What Makes a Template
    2. Context
    3. Retrieving Templates
    4. Adding Features for Templates
    5. Applied Techniques
    6. Now What?
  16. CHAPTER 7: Handling HTTP
    1. Requests and Responses
    2. Writing HTTP Middleware
    3. HTTP-Related Signals
    4. Applied Techniques
    5. Now What?
  17. CHAPTER 8: Backend Protocols
    1. Database Access
    2. Authentication
    3. Files
    4. Session Management
    5. Caching
    6. Template Loading
    7. Context Processors
    8. Applied Techniques
    9. Now What?
  18. CHAPTER 9: Common Tools
    1. Core Exceptions (django.core.exceptions)
    2. Text Modification (django.utils.text)
    3. Data Structures (django.utils.datastructures)
    4. Functional Utilities (django.utils.functional)
    5. Signals
    6. Now What?
  19. CHAPTER 10: Coordinating Applications
    1. Contacts
    2. Real Estate Properties
    3. Now What?
  20. CHAPTER 11: Enhancing Applications
    1. Adding an API
    2. Serializing Data
    3. Retrieving Data
    4. Now What?
  21. Index