Django reusable app to show your project version
Project description
django-project-version is a Django reusable app to show your project version
Installation
Obtain your copy of source code from the git repository: $ git clone https://github.com/DCOD-OpenSource/django-project-version.git. Or download the latest release from https://github.com/DCOD-OpenSource/django-project-version/tags/.
Run $ python ./setup.py install from the repository source tree or unpacked archive. Or use pip: $ pip install django-project-version.
Configuration
Add "djversion" to settings.INSTALLED_APPS.
# settings.py
INSTALLED_APPS += [
"djversion",
]
Settings
- DJVERSION_VERSION
Contains project version. Defaults to None.
- DJVERSION_UPDATED
Contains project update date or datetime. Defaults to None.
- DJVERSION_FORMAT_STRING
Contains version and updated format string. Defaults to "{version} ({updated})".
- DJVERSION_GIT_REPO_PATH
Contains path to git repository from where version info can get. Defaults to None.
- DJVERSION_GIT_USE_TAG
Indicate usage of git repository current tag as project version. Defaults to False.
- DJVERSION_GIT_USE_COMMIT
Indicate usage of git repository last commit hash as project version. Defaults to False.
Usage
If you want always have "VERSION" variable in templates context, just add "djversion.context_processors.version" to settings.TEMPLATE_CONTEXT_PROCESSORS
# settings.py
TEMPLATE_CONTEXT_PROCESSORS += [
"djversion.context_processors.version",
]
Or you can use project_version templatetag which can be loaded from djversion_tags.
{# footer.html #}
{% load djversion_tags %}
{% project_version as VERSION %}
{{ VERSION }}
Also simple management command print-version which prints project version to stdout is available. Just run:
django-admin print-version
or
./manage.py print-version
Advanced features
If you want to have REST-style view with your project version:
Install django-project-version with additional dependencies: $ pip install django-project-version[rest].
Extend you settings.INSTALLED_APPS by adding "rest_framework".
# settings.py
INSTALLED_APPS += [
"rest_framework",
]
Add "djversion" to your URLs definitions:
# urls.py
from django.urls import re_path, include
urlpatterns += [
re_path(r"^version/", include("djversion.urls")),
]
Or to use information from the project git repository as project version:
Install django-project-version with additional dependencies: $ pip install django-project-version[git].
Configure git related settings.
Contributing
Install GNU Make
Install and configure pyenv and pyenv-virtualenv plugin
Install and configure direnv
Create environment config from example
cp .env.example .env
Install development dependencies:
make install
Create your fix/feature branch:
git checkout -b my-new-fix-or-feature
Check code style and moreover:
make check
Run tests:
make test
Push to the branch:
git push origin my-new-fix-or-feature
Licensing
django-project-version uses the MIT license. Please check the MIT-LICENSE file for more details.
Contacts
Project Website: https://github.com/DCOD-OpenSource/django-project-version/
Author: DCOD <contact@d-cod.com>
For contributors list see CONTRIBUTORS file.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django-project-version-0.19.0.zip
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6232a0f099eb04541325aa03e29f86b6ebbe33be98f5dfcf293beefd68a536d6 |
|
MD5 | fb55e32eab18185b4f889f943df77282 |
|
BLAKE2b-256 | 95e5d05f976f41b48abc04b19e439b43b43c3f1143493cbea8077bed3a7fe69f |
Hashes for django_project_version-0.19.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e13ea9e70b1bb09dce78dc6d791948bc40be137702f94e6181318f4b15954d38 |
|
MD5 | ea7b26fbcacea5290cf1849cfd4d0dc7 |
|
BLAKE2b-256 | f134c8cf48a975be845cb088e3989a0019569267b14eaffd29f4ac6a9c37a189 |