This is the rough cut version of the printed book
This book provides a step-by-step, beginner-friendly example which demonstrates both Django's core and contributed library. At each step of the process, the reader will be introduced to a new Django feature. By following all of the instructions within the book, the reader will have completed a fully-functional website hosted online. Rather than chapters of reference materials, the book reveals Django's underlying architecture. The work also examines Django's source code, discussing common web patterns. By understanding how Django works, the reader is able to use the online reference documentation more fluidly than if he or she had just followed the tutorial, or read other books. Furthermore, the reader will walk away with fundamental knowledge of web frameworks, not just Django.
Part I: Django’s Core Features
Chapter 1: Starting a New Django Project: Building a Startup Catego-rizer with Blog
1.1 Modern Websites: the Problems Frameworks Solve and Their Caveats
1.2 Django: Python Web Framework
1.3 Defining the Project in Part I
1.4 Creating a new Django Project and Django Apps
1.5 Building “Hello World” in Django
1.6 Chapter Review
Chapter 2: Programming Django Models and Creating an SQLite Database
2.1 Why use a database?
2.2 Organizing our Data
2.3 Specifying and Organizing Data in Django using Models
2.4 Using Django to Automatically create an SQLite Database with manage.py
2.5 Manipulating Data in the Database: Managers and QuerySets
2.6 String Case Ordering
2.7 Chapter Review
Chapter 3: Rapidly Producing Flexible HTML with Django Templates
3.1 Revisiting Hello World: The Advantages of Templates
3.2 Understanding Django Templates and their Goals
3.3 Choosing a Format and a Location for Templates
3.4 Building a first template: a single Tag object
3.5 Building the rest of our App Templates
3.6 Using Template Inheritance to provide Design Consistency
3.7 Using Templates in Python with the Template, Context, and loader classes
3.8 Chapter Review
Chapter 4: Creating web pages with Controllers in Django: View Functions and URL Configurations
4.1 The purpose and function of view functions and URL Configurations
4.2 Revisiting Hello World one last time to understand Controllers
4.3 Building a view function from scratch: tag_detail
4.4 Adding a URL Pattern for tag_detail
4.5 Generating 404 Errors for Invalid Queries
4.6 Shortening the development process with Django view function Shortcuts
4.7 Maintaining App Encapsulation by splitting URL Configuration Files
4.8 Writing the view functions and URL Configurations to the rest of the site
4.9 Generalizing views with dictionaries
4.10 Class Based Views
4.11 Redirecting the homepage
4.12 Chapter Review
Chapter 5: Integrating Models, Templates, Views and URL Configurations to create links between web pages
5.1 Using the url template tag to build a navigation menu
5.2 Creating links to specific model objects using the url template tag
5.3 Creating links to specific model objects via the model
5.4 Creating links on the object detail pages
5.5 Revisiting homepage redirection
5.6 Chapter Review
Chapter 6: Enabling Data Input with Django Forms
6.1 Creating Django forms (MVC Models)
6.2 Building the forms for Startup, Newslink and Post models
6.3 Creating Controllers for forms
6.4 Building form templates
6.5 Chapter Review
Chapter 7: Material Review of Django’s Core
7.1 MVC => MTV
7.2 Basic Use Case
7.3 Models
7.4 URL Configuration
7.5 Views
7.6 Templates
Part II: Advanced Use of Django’s Core Features
Chapter 8: Making Python 3 code backwards compatible with Python 2.7
Chapter 9: Understanding Migrations
9.1 Avoiding Database Problems with Schema Migrations
9.2 Easing Automatic Data input with Data Migrations
Chapter 10: Customizing Templates using custom Template Filters and Tags
10.1 Custom Template Overview
10.2 Custom Template Filters
10.3 Custom Template Tags
Chapter 11: Validating Form Data and Creating Custom Fields
Chapter 12: Custom Model Managers
Chapter 13: Using Signals to Connect Posts to Startup Tags
Chapter 14: Optimizing View Functions and Django Templates
Part III: Django’s Contributed Libraries
Chapter 15: The Goals for Part II
15.1 How to read Part II
15.2 The Django Source Code
15.3 Topics Not Covered
Chapter 16: Controlling the site with Admin
Chapter 17: Extending Django Display Options
17.1 Static pages with Flatpages
17.2 Configuring Django to use Static Files
17.3 Automatically paginating lists in Django
Chapter 18: Generic Class Based Views
18.1 Generalizing Views
18.2 GCBV
Chapter 19: User Interaction
19.1 Auth: Users, Groups, Permissions
19.2 Integrating Auth
19.3 Extending/Replacing Auth
19.4 Comments
Chapter 20: Remove Internationalization
Chapter 21: Clickjacking
Chapter 22: Feeds (RSS/Atom)
Chapter 23: Sitemap
Chapter 24: Deployment
Chapter 25: App Encapsulation
Chapter 26: Third Party Apps
Part IV: A Full Example in Django: A Web Store
Chapter 27: The Goals for Part III
27.1 E-Commerce Structure
27.2 Selecting and Installing Third Party Apps
Chapter 28: Building the Apps and Models for our Project
28.1 Inventory
28.2 Shopping Cart
28.3 Merchant
28.4 Users
28.5 Configuring the Project for PostgreSQL
Chapter 29: Prototyping Views with Class Based Generic Views
29.1 Routing our site with URL Configurations
29.2 Building simple Templates
29.3 Writing CBGVs
Chapter 30: Functional Testing of our Site with Selenium
Chapter 31: Polishing the site
31.1 Automating functionality with Template Tags
31.2 Customizing or Re-Writing our Views
Chapter 32: Supplementing Site Behavior with E-Mail
32.1 Configuring E-Mail
32.2 Sending E-Mails at signup
32.3 E-Mailing Receipts
32.4 Marketing Mailing Lists
Chapter 33: Automating Background Tasks with Signals and Celery
33.1 Using Signals to Automate Image Processing
33.2 Using Celery to Automate Image Processing
Chapter 34: Packaging our work as an App on PyPi
Chapter 35: Deployment
35.1 Testing Provisioning with Vagrant
35.2 Deploy to Heroku
35.3 Deploy to Amazon Web Service (AWS) with Apache using Saltstack
35.4 Deploy to Rackspace with NginX using Ansible
Chapter 36: Analytics and Caching
Appendix A: Primers
A.1 Website Basics
A.2 Python
A.3 Relational Database Basics
A.4 Model View Controller Review
A.5 Security Basics
A.6 Regular Expressions
A.7 Compilation Basics
Appendix B: Installation
B.1 Installing Python
B.2 Installing pip
B.3 Installing SQLite
B.4 Installing PostgreSQL
B.5 Installing Django
B.6 Finding django-admin
Appendix C: Formal Syntax Crash Courses
C.1 Models
C.2 URL Configuration and Patterns
C.3 Templates
Appendix D: Cheat Sheets
