Django for Professionals
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
Bundles that include this book
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
Other books by this author
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...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $14 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