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.
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.18.0.zip
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30cfcf6f590ec3b341a0a7f4089bd8310f8819799e7902cc82ab03470c3ebf26 |
|
MD5 | 778e8b2e986979d9268b0429135e1667 |
|
BLAKE2b-256 | ef5b6d9cf0af3009ed0d230fed3a92f953ba60437b439645e9043bf4b9c35c4b |
Hashes for django_project_version-0.18.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f41b71c90b694e2ab4f0172af155d242904030d5dd0c31f5361e13a7ff8bcf47 |
|
MD5 | 5b05a42531751ca8bb7361da2238f516 |
|
BLAKE2b-256 | 1ca63c6c2bf617b14472f36dd2a03c15831ab388b9e12fbaebe5aa2edf5e91c0 |