Why should you care about Django?
While it is a given that Django is not the only web framework that will allow you to Get Stuff Done, I can confidently say one thing – if you want to write clean, intelligible code and build high performance, good looking modern websites quickly, then you will definitely benefit from working through this book.
About This Book
This book is about Django, a Web development framework that saves you time and makes Web development a joy. Using Django, you can build and maintain high-quality Web applications with minimal fuss.
The main goal of this book is to make you a Django expert. The focus is twofold. First, I explain in depth what Django does and how to build Web applications with it. Second, I discuss higher-level concepts where appropriate, answering the question “How can I apply these tools effectively in my own projects?”. By
reading this book, you’ll learn the skills needed to develop powerful Web sites quickly, with code that is clean and easy to maintain.
The secondary, but no less important, goal of this book is to provide a programmer’s manual that covers the current Long Term Support (LTS) version of Django. Django has matured to the point where it is seeing many commercial and business-critical deployments. As such, this book is intended to provide the
definitive up-to-date resource for commercial deployment of Django 1.8 LTS. The electronic version of this book will be kept in sync with Django 1.8 right up until the end of extended support (2018).
How to Read This Book
In writing Mastering Django: Core, I have tried to maintain a similar balance between readability and reference as the first book, however, Django has grown considerably since 2007 and with increased power and flexibility, comes some additional complexity. Django still has one of the shortest learning curves of
all the web application frameworks, but there is still some solid work ahead of you if you want to become a Django expert. This book retains the same “learn by example” philosophy as the original book, however, some of the more complex sections (database configuration for example) have been moved to
later chapters. This is so that you can first learn how Django works with a simple, out-of-the-box configuration and then build on your knowledge with more advanced topics later.
With that in mind, I recommend that you read Chapters 1 through 13 in order. They form the foundation of how to use Django; once you’ve read them, you’ll be able to build and deploy Django-powered Web sites. Specifically, Chapters 1 through 6 is the “core curriculum,” Chapters 7 through 12 covers more advanced Django usage, and Chapter 13 covers deployment. The remaining
chapters, 14 through 21, focus on specific Django features and can be read in any order. The appendices are for reference. They, along with the free documentation at the Django Project2
, are probably what you’ll flip back to occasionally to recall syntax or find quick synopses of what certain parts of Django do.
Required Programming Knowledge
Readers of this book should understand the basics of procedural and object-oriented programming: control structures (e.g., if, while, for), data structures (lists, hashes/dictionaries), variables, classes, and objects. Experience in Web development is, as you may expect, very helpful, but it’s not required to understand this book. Throughout the book, I try to promote best practices
in Web development for readers who lack this experience.