Django plugin to provide a context variable for retrieving the version of running application.
This variable is meant to change the URL of a static file, to invalidate browser cache.
pip3 install dj-static-revision
Django Static Revision only supports Python 3.8+.
Add dj_static_revision.context_processors.static_revision
to your context_processors
list.
TEMPLATES = (
{
'NAME': 'jinja2',
'BACKEND': 'django_jinja.backend.Jinja2',
'OPTIONS': {
'context_processors': (
# Other context processors
'dj_static_revision.context_processors.static_revision',
),
A variable REVISION
will then exists in your template, you can use it to append to static file URL.
<script src="{{ static('js/app.js') }}?v={{ REVISION }}"></script>
Django Static Revision retrieves revision string from Git history. If your source code is not managed by Git, the revision info will be read from a file named .version placed next to manage.py file.
The revision string will be truncated to 10 characters. You can change that by add to Django settings:
STATIC_REVISION_STRING_LENGTH = 10
You can also change the file for Django Static Revision to read revision string from, by add this setting:
STATIC_REVISION_VERSION_FILE = '.version'
where .version is a text file containing any string you want.