Software Versions

As the book only covers core Django, you don’t require any special functions or libraries, so the latest versions of Python 3 and Django 2 or 3 are OK. At the time of writing, this is Python 3.8.3 and Django 2.2.12 (for Django 2) and Django 3.0.6 (for Django 3).

Django 2 or 3??

There is very little difference between Django 2.2 and Django 3.0, which can be confusing for programmers new to Django. What small differences exist, I have noted in the book.

Django 2.2 is a Long Term Support version, so is older, more stable and better supported than Django 3.0. In saying this, the differences between the two versions are sufficiently small that 99% of the code in this book will work on either version.

Code that only works on Django 3 is clearly marked in the text, so you shouldn’t have any problems identifying the parts specific to Django 3.

I provide installation instructions for Windows and Mac users. Linux users can refer to the 90 million Linux installation tutorials online (OK, so that’s maybe an exaggeration, but there are lots).

All the code in this book will run on Windows, macOS or Linux. While the code and screenshots are all from a Windows machine, the fundamentals remain the same—all three have a terminal or command window and management commands like runserver work the same on all three platforms.

Coding style is also identical across platforms with one exception—I use Windows-style backslashes in file paths. This is to assist Windows users to differentiate between Windows’ native use of backslashes and Django’s implementation of forward slashes in path names. Linux and macOS users, simply need to substitute forward slashes in these cases.

All browser screenshots are taken from the latest version of the Chrome browser. If you are using FireFox, Safari or some other browser, your screen may look different than the screenshots.

The images are in full-color in the PDF and eBook versions but are grayscale in the printed book (color is way too expensive to print). Paperback users are encouraged to run the code to see the full-color effect in your browser.