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: $ python ./manage.py print-version from project folder.
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 other authors list see AUTHORS 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.16.0.zip
Algorithm | Hash digest | |
---|---|---|
SHA256 | 911373b592f266d99abfee0d31a1893831232b1c22bdff118488918aec56a23e |
|
MD5 | 4129d7a12fa8915c20f99f29049ef9fb |
|
BLAKE2b-256 | 1b00f320dbe7c100b9f17a969a01eee4db0e0aed9116fb812fce5f46e9291762 |
Hashes for django_project_version-0.16.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2544746b2688ec59c7302009e14a779c3f33e8795f947cc55cc3d7ffd87b9fb5 |
|
MD5 | fa2a5166b78bdd2db6828b3e60dddd00 |
|
BLAKE2b-256 | 40bc4d5f2196832c90635e09d16d3aa5e5db9234ddc59bb283067fdf6ca0c114 |