The 5 Best Django Books for Beginners
I know what you are thinking; “There are a million and one ‘top Django books for beginners’, why is this any different?"
From my point of view, most of those blog posts you’ve read do not actually provide an efficient and effective learning pathway. They mostly recommend popular Django books without considering a systematic order in which a beginner should follow. You should take it from someone who has tried out countless books and video tutorials; you do not want to get lost in that dark-frustrating-bottomless pit.
Hence, I have taken the time to pick out the five(5) quality books you should follow if you want to quickly master Django and solve problems with it. The order of the books mentioned here matters a lot, and you’ll do yourself more good if you follow them in the order presented here.
First things first…
In my opinion, the first step in starting a new language or framework is to go through the official documentation. I mean, it makes sense to first check the official resource written by the person or people who created or invented the language or framework, right? So refer to the Django documentation and try out the official tutorial if you haven’t.
PS: Unlike some of those posts you’ve come across, this is not a paid promotion. I wasn’t paid to promote any of the books mentioned here.
Assumptions
- You have a basic understanding of what Django is and its applications.
- You have a basic understanding of what web development entails.
What are the books?
If you are a beginner and you need to speed up your learning pathway effectively and efficiently, you should study these books in the following order:
- Django for Beginners
- Django 3 By Example
- Django for APIs
- Practical Django 2 and Channels 2
- Django for Professionals
1. Django for Beginners by William S. Vincent
After you must have completed the tutorial on the official documentation, there’s a chance you still feel lost or overwhelmed. William Vincent comes to the rescue by brilliantly shining in standard Django practices and concepts—ranging from testing to deployment—needed to build modern web applications in a very simple manner. You get hands-on experience in building, testing and deploying web apps like a Message Board app, a Blog app, and a Newspaper app. The writing was easy to follow, with clear explanations of new concepts. I thought the introduction of test-driven development (at this early stage) was brilliant.
2. Django 3 by Example by Antonio Melé
Range. Depth. Quality. Antonio Melé’s very detailed book not only provides a range of web projects to build, but it also explains the whys and wherefores of how the projects are built. If you followed the Blog app tutorial in Django for Beginners, be ready to build a more robust Blog app that covers the many features of a modern-day blog application. In fact, most of the projects you will be building—a Social Website, an E-Commerce website, an E-learning website, among others—contain full-flavoured features. Building the different projects in this book really helped me learn and apply concepts like asynchronous tasks, rendering and caching, among others. I feel that this book would have been a perfect 10 if the projects were centred around test-driven development.
3. Django for APIs by William S. Vincent
According to the author, this book is suitable for beginners who have never built an API before as well as professional programmers looking for a fast-paced introduction to Django fundamentals and best practices. This book introduces a new tool, Django REST Framework (DRF), which you will use to build a Todo API and a Blog API as well as consuming these APIs with a frontend tool (React). After I tried out the official tutorial on DRF, I found this book extremely helpful in actually understanding how to build Web APIs with Django. Although Django 3 by Example has a project on building an API with DRF, it is not suitable for a beginner who has little understanding of Web APIs.
4. Practical Django 2 and Channels 2 by Federico Marani
As of the writing of this blog post, I have not yet practised the projects in this book. The good news is that I have glanced through the contents and I can say that the book is rich in concepts, examples, and explanations to some extent. It covers projects you may have built in the previous books, but nevertheless, you should still try them out so as to get a glimpse of different approaches various professionals take in solving the same problems. Another thing that caught my eye while glancing through this book was the introduction of asynchronous communication using WebSocket and HTTP server-side events. You may find this very useful. Once I attempt the examples, I shall update this blog post with my honest feedback.
5. Django for Professionals by William S. Vincent
Ever wondered what a professional and production-ready web application would entail? William Vincent, again, comes to the rescue by breaking down some technical jargon—like containerisation, advanced security, and performance—in easy-to-understand rhetorics. Like his other books mentioned here, you get hands-on experience in building a Bookstore website from scratch (professionally) using tools like Docker and PostgreSQL. I was deeply satisfied with his clear explanations into the world of containerisation; the kind of satisfaction you get after shining a torch to illuminate a little portion of the vast area of darkness in the mind of an ignorant person.
Moving Forward…
This post is different from the everyday ‘Top Django Books for Beginners’ posts you come across. The structure and learning pathway I have laid out will enable you to easily master and understand Django in no time. After trying out the projects in the books I mentioned, you will feel very confident in solving problems with Django. Make sure you test and improve your new-found Django skills by building novel projects or solving existing problems.
In my next post, I will highlight top blogs, newsletters, and podcasts you could follow to get industry updates of Django news, articles, projects, practices, among others.
Hey there! My name is Toluwalemi. A Software Engineer and an Occasional Writer. Say hi or reach out if you have any questions :)