-
Book Overview & Buying
-
Table Of Contents
Django Design Patterns and Best Practices - Second Edition
By :
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...
Hashes protect against remote tampering and save the need to create private package index servers containing approved packages.
Unfortunately, there are real-world code bases where the requirements.txt file was not updated or...
Change the font size
Change margin width
Change background colour