Django is an amazingly powerful system for creating modern, dynamic websites. But programming Django hasn’t always been easy–until now. Django Unleashed is your step-by-step, beginner-friendly guide to leveraging Django’s core capabilities and its powerful contributed library. You’ll learn in the most effective way possible: hands on, by building a fully functional Django website from scratch. You’ll even deploy the website to the cloud.
As you build your website, expert Django consultant and trainer Andrew Pinkham reveals how websites operate; how Django makes building websites easy; how to write Python code that leverages its immense capabilities; and how to build solutions that are robust, reliable, and secure. You’ll start simply and learn to solve increasingly challenging problems: mastering new features and understanding how Django’s architecture shapes their behavior, and gaining essential knowledge for working with any web framework, not just Django.
Drawing on his extensive experience teaching Django, Pinkham answers the key questions beginners ask most often. And as you gain experience, you’ll learn advanced techniques for enhancing site functionality and performance, strengthening security, promoting code reuse, and much more.
Detailed information on how to…
- Quickly start a new Django project and establish a strong foundation for a growing site
- Define how your data is organized and create a SQLite database to manage it
- Quickly produce HTML with Django templates
- Create dynamic webpages with Django’s URL patterns and views, including function views, class-based views, and generic views
- Enable efficient, reliable data input with Django Forms and custom form validations
- Understand the Model-View-Controller (MVC) architecture, compare it to Model-Template-Views, and gain a holistic understanding of Django’s structure
- Write as little code as possible, simplify code reuse, and mitigate software decay by adhering to the Don’t Repeat Yourself paradigm.
- Dive into Django source code to troubleshoot problems
- Extend site functionality with Django’s contributed library
- Protect your site with user authentication and permissions
- Avoid security pitfalls such as SQL Injection, XSS, and CSRF
- Optimize site performance
- Deploy your site to a managed cloud service and to a PostgreSQL database