Python & Django Beginner's Pack: Books, Tutorials, Newsletters etc.
Here in Django Stars, if a candidate fails to pass an interview due to the lack of knowledge, we always provide a list of useful tutorials and book, that can help him or her to improve their coding skills.
Of course, you don’t need to go through every single course completely. It’s better to start from the very basic tutorials and do a lot of practice (little Python scripts and eventually a simple Django app).
One more very important note: whenever you learn a new concept, data type, class, or function, don’t forget to check the official documentation. One day, you won’t be using anything other than the documentation — better start getting used to the official documentation, now!
So here is what we recommend for novice programmers or those seeking to become an intern or junior Python/Django Developer:
Online Tutorials & Courses
Codecademy is a nice place to start if you're learning from scratch. However, some of the tutorials have been updated and the new versions are a lot less challenging. Another drawback is a its lack of Django tutorial.
Codementor offers a list of resources (documentations, tutorials, courses, tips & tricks, and developer tools) to help those who want to learn Python get started. Here's a go-at-your-own-pace 4-weeks long beginner python class for machine learning.
Coursera's is another great resource (I have tried 2 Python courses here). The good thing about Coursera is that it tries to make you code on a regular basis. However, if you're starting as a beginner, you should wait (sometimes for several weeks) to start on advanced topics.
Tutorialspoint can be best described as a simplified version of the official documentation. Here, you can find the description of most basic concepts and keywords and some built in libraries. The description is brief and clear. For most of beginners, it’s actually a great option, but it’s not the place to go if you're starting from scratch.
SoloLearn offers a set of mobile tutorials, including Python. This is a really nice course for those who can’t fall asleep without surfing on their phones (including me). The theories part is really nice — I found the answers on several very basic things like the purpose of the 'magic' methods, in this exact course. However, the practical tasks sometimes look awkward. Some examples are over complicated and don't resemble a real life code. Most of the task are simple tests you can eventually guess.
This is a beginner’s guide to Django and the web development in general. There are several parts for different Django versions, all the way from v. 1.5 to the newer 1.9 and 1.10. The book can be purchased on Amazon, or you can use it for free online.
Even though Django's official documentation is quite simple, you may still want a step-by-step guide — this is it. This book is based on the Django 1.8 LTS version. Once again, it’s somewhere in between the simplified version of the official documentation and a nice step-by-step guide on how to build your first Django web app.
The Definitive Guide to Django: Web Development Done Right by Jacob Kaplan-Moss, Adrian Holovaty.
This book describes a deprecated version of Django 1.1. However, it does describe all the basic concepts, and you can find answers to any Django related question here.
If you can’t find this exact book, you can try to look for any book by Adrian Holovatyi. As the Django co-creator, he describes the material in a clear and simple manner.
When you're familiar with the fundamentals of Django, you can check the latest versions of Django:
When you're finished with the basics, we recommend reading the following books:
Python Essential Reference (4th Edition) by David M. Beazley
Effective Python by Brett Slatkin
Who to Follow:
Guido van Rossum — creator of Python and the original BDFL
Tom Christie — Author of Django REST framework
Andrew Godwin — Django core developer
David Beazley — Python Cookbook author
Carl Friedrich Bolz — PyPy core developer
Adrian Holovaty — Django co-creator
Here are some articles and tutorials that cover both specific and general topics:
Practice Makes Perfect
Once again, don't rely solely on theories. Try to gain more practical skills like little scripts or simplified versions of already existing applications. If you practice on a daily basis, you’re bound to succeed as a Python & Django developer!
This post was originally published by the author here. This version has been edited for clarity and may appear different from the original post