Finding the Django Version

Ideally, every project will have a requirements.txt or setup.py file at the root directory, and it will have the exact Version of Django used for that project. Let's look for a line similar to this:

Django==1.5.9 
The version number is mentioned precisely (rather than Django>=1.5.9), which is called pinning. Pinning every package is considered a good practice since it reduces surprises and makes your build more deterministic.

As a best practice, it is advisable to create a completely repeatable environment for a project. This includes having a requirements file with all transitive dependencies listed, pinning, and with --hash digests. --hash digests of the packages look like this:

Django==1.5.9 --hash=sha256:2cf24dba5fb0a30e26e83b2ac5... ...

Get Django Design Patterns and Best Practices - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.