Review: Django for Professionals
Tags: python, review, books, learning
Published: 2019-11-19 18:09:01

<!-- wp:paragraph -->
<p>There is a lot of books for learning Django for beginners, but what about for those that want to level up?</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>If you have been using Django for a while, your average "Let's build a blog/newspaper" may fall short. Thankfully we have "Django for Professionals"</p>
<!-- /wp:paragraph -->

<!-- wp:table -->
<figure class="wp-block-table"><table class=""><tbody><tr><td><span style="text-decoration: underline;">Table of contents</span></td></tr><tr><td><a href="#introduction">Introduction - What's Django for Professionals?</a></td></tr><tr><td><a href="#the-book">The book - What you can find inside</a></td></tr><tr><td><a href="#pros-cons">Pros and cons</a></td></tr><tr><td><a href="#conclusion">Conclusion</a></td></tr></tbody></table></figure>
<!-- /wp:table -->


<!-- wp:separator -->
<hr class="wp-block-separator"/>
<!-- /wp:separator -->

<!-- wp:heading {"level":3} -->
<h3 id="introduction">Introduction - What's Django for Professionals? </h3>
<!-- /wp:heading -->

<!-- wp:image {"id":1685,"sizeSlug":"large"} -->
<figure class="wp-block-image size-large"><img src="https://i0.wp.com/letslearnabout.net/wp-content/uploads/2019/11/djangoforprofessionals-scaled.jpg?fit=791%2C1024&amp;ssl=1" alt="Django for Professionals - Cover" class="wp-image-1685"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>There are a lot of books to start learning Django right now. Beginners and even non-programmers can pick it up in hours, thanks to the Django structure, the Python English-like syntax and a few <a rel="noreferrer noopener" aria-label="Django tips (opens in a new tab)" href="http://of Python and" target="_blank">Django tips</a> here and there.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>But...what if you are past that? What if creating a few toy-apps is not enough for you?</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Reaching an advanced level is a hard thing to do.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Thankfully <a rel="noreferrer noopener" aria-label="William Vincent (opens in a new tab)" href="https://wsvincent.com/" target="_blank">William Vincent</a> has decided to close that gap with his 'Django for Programmers' ebook (he also has written other Django-related books such as 'Django for Professionals and '<a href="https://letslearnabout.net/books/review-rest-apis-with-django/">Django for APIs</a>'</p>
<!-- /wp:paragraph -->

<!-- wp:separator -->
<hr class="wp-block-separator"/>
<!-- /wp:separator -->

<!-- wp:heading {"level":3} -->
<h3 id="the-book"> The book - What you can find inside </h3>
<!-- /wp:heading -->

<!-- wp:image {"align":"center","id":1686,"sizeSlug":"large"} -->
<div class="wp-block-image"><figure class="aligncenter size-large"><img src="https://letslearnabout.net/wp-content/uploads/2019/11/image.png" alt="" class="wp-image-1686"/></figure></div>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>We can easily divide the book into two parts:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><li>On each chapter from chapter one through nine, we will learn one topic on each chapter by creating one small app in each chapter. How to create a Docker file, how to set up PostgreSQL Database for Python in a Docker, etc</li><li>After that, from chapter ten through the eighteen, we will create a product-ready project using Django, Docker and, finally, advanced concepts. Permissions, Stripe, improving performance and security, etc</li></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Even if this book doesn't follow TDD principles, we will do testing. A lot of testing.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>One thing that I didn't like too much about the book is that some topics deserve to go deeper than just 10-15 pages, but then if the book covered each topic as deep as they deserve, the book wouldn't have 357 pages but 1000.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>After all, this book is aimed at professionals: It points you in the right direction, it gives you a few examples, and then you can work the details on your own.</p>
<!-- /wp:paragraph -->

<!-- wp:separator -->
<hr class="wp-block-separator"/>
<!-- /wp:separator -->

<!-- wp:heading {"level":3} -->
<h3 id="pros-cons">Pros and Cons</h3>
<!-- /wp:heading -->

<!-- wp:heading {"level":4} -->
<h4>Pros</h4>
<!-- /wp:heading -->

<!-- wp:list -->
<ul><li><strong>It covers interesting and actual topics</strong>: Docker, Stripe integration, security, deployment, etc</li><li><strong>Structure</strong>: One chapter, one topic. If you want to learn how to improve the security of your web app, head for the Security chapter instead of chasing them all around the book here and there</li><li><strong>Scope of the book</strong>: Finally a way to learn advanced topics. I have read a lot of Django books but you outgrow them quickly. Finally, William has filled the knowledge gap. </li><li><strong>Easy to follow</strong>: Between the clear instructions and captures as a visual aid, it is hard to mess up with something while following the book.</li></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":4} -->
<h4>Cons</h4>
<!-- /wp:heading -->

<!-- wp:list -->
<ul><li><strong>A bit shallow sometimes</strong>: While covering many important topics, sometimes it feels like some of them could be more detailed.</li><li><strong>Not for the experienced</strong>: If you are a professional that has been working with Django for many years, this book is not for you.</li></ul>
<!-- /wp:list -->

<!-- wp:separator -->
<hr class="wp-block-separator"/>
<!-- /wp:separator -->

<!-- wp:heading {"level":3} -->
<h3 id="conclusion">Conclusion</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>If you are looking into leveling up your Django skills from beginner to advanced, this book is for you.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Instead of buying toy apps, you'll be learning advanced topics and then, creating and deploying a production-ready web app with Heroku using Stripe for payments.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>A great book to learn a lot, quickly and very helpful if you are struggling with any of the concepts touched in it.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>You can buy it at <a href="https://djangoforprofessionals.com/" target="_blank" rel="noreferrer noopener" aria-label="https://djangoforprofessionals.com/ (opens in a new tab)">https://djangoforprofessionals.com/</a></p>
<!-- /wp:paragraph -->

<!-- wp:separator -->
<hr class="wp-block-separator"/>
<!-- /wp:separator -->

<!-- wp:paragraph -->
<p>William Vincent blog: <a rel="noreferrer noopener" aria-label="https://wsvincent.com/ (opens in a new tab)" href="https://wsvincent.com/" target="_blank">https://wsvincent.com/</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>William Vincent ebooks: <a rel="noreferrer noopener" aria-label="https://wsvincent.com/books/ (opens in a new tab)" href="https://wsvincent.com/books/" target="_blank">https://wsvincent.com/books/</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Django Chat podcast (Co-hosted by William Vincent): <a rel="noreferrer noopener" aria-label="https://djangochat.com/ (opens in a new tab)" href="https://djangochat.com/" target="_blank">https://djangochat.com/</a></p>
<!-- /wp:paragraph -->

<!-- wp:separator -->
<hr class="wp-block-separator"/>
<!-- /wp:separator -->

<!-- wp:paragraph -->
<p><a href="https://www.youtube.com/channel/UC9OLm6YFRzr4yjlw4xNWYvg?sub_confirmation=1" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">My Youtube tutorial videos</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://twitter.com/DavidMM1707" target="_blank" rel="noreferrer noopener">Reach to me on Twitter</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://github.com/david1707" target="_blank" rel="noreferrer noopener">My Github</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Contact me: DavidMM1707@gmail.com</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Read more <a href="https://letslearnabout.net/category/books/" target="_blank" rel="noreferrer noopener" aria-label="Book Reviews (opens in a new tab)">Book Reviews</a></p>
<!-- /wp:paragraph -->