Django for Professionals
$39.00
Minimum price
$39.00
Suggested price

Django for Professionals

Production websites with Python & Django

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.

In the book you’ll learn how to:

  • Build a Bookstore website from scratch
  • Use Docker and PostgreSQL locally to mimic production settings
  • Implement advanced user registration with email
  • Customize permissions to control user access
  • Write comprehensive tests
  • Adopt advanced security and performance improvements
  • Add search and file/image uploads
  • Deploy with confidence

If you want to take advantage of all that Django has to offer, Django for Professionals is a comprehensive best practices guide to building and deploying modern websites.

Reviews

"If you’re looking for a guide into the world of Django, then the three-step of Django for Beginners, Django for APIs, and Django for Professionals is ideal: get up and running, get into APIs, which are a cornerstone of modern app development, and then add the bits you need to your fledging app into production, from databases and static files, to user accounts and security. It’s a long road. Will’s books are an awesome companion."—CARLTON GIBSON, Django Fellow and Django REST Framework core contributor

"When readers interested in web development ask me what to read next after Python Crash Course, I refer them to Will's books: Django for Beginners, Django for APIs, and Django for Professionals. I highly recommend you check out his work."—ERIC MATTHES, author of Python Crash Course

"Will's books are a fantastic resource for web development with Django and Python. I highly recommended them.”—JEFF TRIPLETT, Python Software Foundation Director, DEFNA President, and REVSYS Partner

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. A Board Member of the Django Software Foundation, he was previously an early employee at Quizlet and taught computer science at Williams College. He writes regularly about Python and Django at LearnDjango.com.

Bundles that include this book

$117.00
Bought separately
$97.00
Bundle Price

Table of Contents

  • Introduction
    • Prerequisites
    • Book Structure
    • Book Layout
    • Community
    • Conclusion
  • Chapter 1: Initial Set Up
    • The Command Line
    • Install Python 3
    • Text Editor
    • Install Git
    • Conclusion
  • Chapter 2: Docker Hello, World!
    • What is Docker?
    • Virtual Environments vs Containers
    • Install Docker
    • Docker Hello, World
    • Install Django
    • Django Hello, World
    • Pages App
    • Docker Image
    • Dockerfile
    • .dockerignore
    • docker-compose.yml
    • Git
    • Conclusion
  • Chapter 3: PostgreSQL
    • Django Set Up
    • Docker
    • Detached Mode
    • PostgreSQL
    • docker-compose.yml
    • DATABASES
    • New Database
    • Git
    • Conclusion
  • Chapter 4: Bookstore Project
    • Docker
    • PostgreSQL
    • Custom User Model
    • Custom User Forms
    • Custom User Admin
    • Superuser
    • Tests
    • Unit Tests
    • Git
    • Conclusion
  • Chapter 5: Pages App
    • Templates
    • URLs and Views
    • Tests
    • Testing Templates
    • Testing HTML
    • setUp()
    • Resolve
    • Git
    • Conclusion
  • Chapter 6: User Registration
    • Auth App
    • Auth URLs and Views
    • Homepage
    • Django Source Code
    • Log In
    • Redirects
    • Log Out
    • Sign Up
    • Tests
    • Git
    • Conclusion
  • Chapter 7: Static Assets
    • Local Development
    • STATICFILES_DIRS
    • CSS
    • Images
    • JavaScript
    • Production
    • Bootstrap
    • About Page
    • About Page Tests
    • Django Crispy Forms
    • Git
    • Conclusion
  • Chapter 8: 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 9: Environment Variables
    • Environs
    • SECRET_KEY
    • DEBUG and ALLOWED_HOSTS
    • DATABASES
    • Git
    • Conclusion
  • Chapter 10: Email
    • Custom Confirmation Emails
    • Email Confirmation Page
    • Password Reset and Password Change
    • Email Service
    • Git
    • Conclusion
  • Chapter 11: Books App
    • Models
    • Admin
    • URLs
    • Views
    • Templates
    • object_list
    • Individual Book Page
    • context_object_name
    • Adding URLs
    • get_absolute_url
    • Primary Keys vs. IDs
    • Slugs vs. UUIDs
    • Tests
    • Git
    • Conclusion
  • Chapter 12: Reviews App
    • Foreign Keys
    • Reviews model
    • Admin
    • Templates
    • Tests
    • Git
    • Conclusion
  • Chapter 13: File/Image Uploads
    • Media Files
    • Models
    • Admin
    • Template
    • django-storages
    • Next Steps
    • Git
    • Conclusion
  • Chapter 14: Permissions
    • Logged-In Users Only
    • Permissions
    • Custom Permissions
    • User Permissions
    • PermissionRequiredMixin
    • Groups & UserPassesTestMixin
    • 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
    • Indexes
    • Caching
    • Front-end Assets
    • Next Steps
    • Git
    • Conclusion
  • Chapter 17: Security
    • Social Engineering
    • Django updates
    • Deployment Checklist
    • docker-compose-prod.yml
    • DEBUG
    • Defaults
    • SECRET_KEY
    • Web Security
    • SQL injection
    • XSS (Cross Site Scripting)
    • Cross-Site Request Forgery (CSRF)
    • Clickjacking Protection
    • HTTPS/SSL
    • SSL Error
    • HTTP Strict Transport Security (HSTS)
    • Secure Cookies
    • Admin Hardening
    • Git
    • Conclusion
  • Chapter 18: Deployment
    • PaaS vs IaaS
    • WhiteNoise
    • Media Files
    • Gunicorn
    • Heroku
    • Deploying with Docker
    • Heroku Deployment
    • ALLOWED_HOSTS
    • Doing It Live!
    • SECURE_PROXY_SSL_HEADER
    • Production Database
    • Heroku Logs
    • Conclusion
  • Conclusion
    • Learning Resources
    • Feedback

The Leanpub 60 Day 100% Happiness Guarantee

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

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. 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) and EPUB (for phones, tablets and Kindle). 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

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

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. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub