Django for Professionals
Django for Professionals
$39.00
Minimum price
$39.00
Suggested price
Django for Professionals

Last updated on 2019-08-18

About the Book

Once you have learned the basics of Django there is a massive gap between building simple "toy apps" and what it takes to build a "production-ready" web application suitable for deployment to thousands or even millions of users. 

This book covers in-depth how professional Django programmers do their job and build these real-world web applications. We will build from scratch an online bookstore that supports purchases via Stripe. And we will cover in-depth the following topics:

* Django 2.2 & Python 3.7

* advanced user registration: custom user models, social authentication

* using Docker & PostgreSQL locally

* environment variables (no more multiple settings files!)

* permissions and file/image uploads

* Stripe for orders

* search

* security & performance 

* deployment

About the Author

William S. Vincent
William S. Vincent

William S. Vincent is the author of Django for Beginners, Django for APIs, and Django for Professionals. Previously an early employee at Quizlet, he has used Django at multiple early-stage startups in the Boston area and taught computer science at Williams College. He writes regularly about Python and Django at wsvincent.com.

Bundles that include this book

Django for APIs
Django for Beginners
Django for Professionals
$117.00
Suggested Price
$97.00
Bundle Price
Django for Beginners
Django for Professionals
$78.00
Suggested Price
$68.00
Bundle Price

Table of Contents

  • Introduction
    • Prerequisites
    • Book Structure
    • Book Layout
    • Text Editor
    • Conclusion
  • Chapter 1: Docker
    • What is Docker?
    • Containers vs. Virtual Environments
    • Install Docker
    • Docker Hello, World
    • Django Hello, World
    • Pages App
    • Images, Containers, and the Docker Host
    • Git
    • Conclusion
  • Chapter 2: PostgreSQL
    • Starting
    • Docker
    • Detached Mode
    • PostgreSQL
    • Settings
    • Pyscopg
    • New Database
    • Git
    • Conclusion
  • Chapter 3: Bookstore Project
    • Docker
    • PostgreSQL
    • Custom User Model
    • Custom User Forms
    • Custom User Admin
    • Superuser
    • Tests
    • Unit Tests
    • Git
    • Conclusion
  • Chapter 4: Pages App
    • Templates
    • URLs and Views
    • Tests
    • Testing Templates
    • Testing HTML
    • setUp Method
    • Resolve
    • Git
    • Conclusion
  • Chapter 5: User Registration
    • Auth App
    • Auth URLs and Views
    • Homepage
    • Redirects
    • Django Source Code
    • Log Out
    • Log In
    • Sign Up
    • Tests
    • setUpTestData()
    • Git
    • Conclusion
  • Chapter 6: Static Assets
    • staticfiles app
    • STATIC_URL
    • STATICFILES_DIRS
    • STATIC_ROOT
    • STATICFILES_FINDERS
    • Static Directory
    • Images
    • JavaScript
    • collectstatic
    • Bootstrap
    • About Page
    • Django Crispy Forms
    • Tests
    • Git
    • Conclusion
  • Chapter 7: Advanced User Registration
    • django-allauth
    • AUTHENTICATION_BACKENDS
    • EMAIL_BACKEND
    • ACCOUNT_LOGOUT_REDIRECT
    • URLs
    • Templates
    • Log In
    • Log Out
    • Sign Up
    • Admin
    • Email Only Login
    • Tests
    • Social
    • Git
    • Conclusion
  • Chapter 8: Environment Variables
    • .env files
    • SECRET_KEY
    • DEBUG
    • Databases
    • Git
    • Conclusion
  • Chapter 9: Email
    • Custom Confirmation Emails
    • Email Confirmation Page
    • Password Reset and Password Change
    • Email Service
    • Git
    • Conclusion
  • Chapter 10: Books App
    • Models
    • Admin
    • URLs
    • Views
    • Templates
    • object_list
    • Individual Book Page
    • context_object_name
    • get_absolute_url
    • Primary Keys vs. IDs
    • Slugs vs. UUIDs
    • Navbar
    • Tests
    • Git
    • Conclusion
  • Chapter 11: Reviews App
    • Foreign Keys
    • Reviews model
    • Admin
    • Templates
    • Tests
    • Git
    • Conclusion
  • Chapter 12: File/Image Uploads
    • Media Files
    • Models
    • Admin
    • Template
    • Next Steps
    • Git
    • Conclusion
  • Chapter 13: Permissions
    • Logged-In Users Only
    • Permissions
    • Custom Permissions
    • User Permissions
    • PermissionRequiredMixin
    • Groups & UserPassesTestMixin
    • Git
    • Conclusion
  • Chapter 14: Orders with Stripe
    • Payments Flow
    • Orders app
    • Stripe
    • Publishable & Secret Keys
    • Stripe Checkout
    • Charges
    • Stripe + Permissions
    • Templates
    • Tests
    • Git
    • Conclusion
  • Chapter 15: Search
    • Search Results Page
    • Basic Filtering
    • Q Objects
    • Forms
    • Search Form
    • Git
    • Conclusion
  • Chapter 16: Performance
    • django-debug-toolbar
    • Analyzing Pages
    • select_related and prefetch_related
    • Caching
    • Indexes
    • django-extensions
    • Front-end Assets
    • Git
    • Conclusion
  • Chapter 17: Security
    • Social Engineering
    • Django updates
    • Deployment Checklist
    • Local vs. Production
    • DEBUG
    • ALLOWED HOSTS
    • Web Security
    • SQL injection
    • XSS (Cross Site Scripting)
    • Cross-Site Request Forgery (CSRF)
    • Clickjacking Protection
    • HTTPS/SSL
    • HTTP Strict Transport Security (HSTS)
    • Secure Cookies
    • Admin Hardening
    • Git
    • Conclusion
  • Chapter 18: Deployment
    • PaaS vs IaaS
    • WhiteNoise
    • Gunicorn
    • dj-database-url
    • Heroku
    • Deploying with Docker
    • heroku.yml
    • Heroku Deployment
    • SECURE_PROXY_SSL_HEADER
    • Heroku Logs
    • Stripe Live Payments
    • Heroku Add-ons
    • PonyCheckup
    • Conclusion
  • Conclusion

The Leanpub 45-day 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms

Free Updates. Free App. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers), EPUB (for phones and tablets), MOBI (for Kindle) and in the free Leanpub App (for Mac, Windows, iOS and Android). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

Authors, publishers and universities use Leanpub to publish amazing in-progress and completed books and courses, just like this one. You can use Leanpub to write, publish and sell your book or course as well! Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks. Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. It really is that easy.

Learn more about writing on Leanpub