Show a floating notice banner above the Django admin interface
Project description
Django Admin Notice
Show a floating notice banner above the Django admin interface. Particularly useful for indicating the current deployment environment.
Installation
Install django-admin-notice via the Python Package Index (PyPI):
pip install django-admin-notice
Add admin_notice
to your INSTALLED_APPS
somewhere before django.contrib.admin
.
INSTALLED_APPS = [
"admin_notice", # <-- Add this somewhere before "django.contrib.admin"
"django.contrib.admin",
# ... other apps
]
Add admin_notice.context_processors.notice
to the templates context_processors
.
Having django.template.context_processors.request
is required as well.
TEMPLATES = [
{
"OPTIONS": {
"context_processors": [
"django.template.context_processors.request", # <-- have this
"admin_notice.context_processors.notice", # <-- Add this
# ... other context processors
]
},
},
]
Settings
Set the ADMIN_NOTICE_TEXT
to the text you want to show above the admin interface.
No message is shown if this setting is missing or empty.
ADMIN_NOTICE_TEXT = "Production environment"
Optionally specify a custom text color and background for your notice.
The default text color is white
and the default background red
.
ADMIN_NOTICE_TEXT_COLOR = "white"
ADMIN_NOTICE_BACKGROUND = "red"
Tips
It's a common use case to indicate the projects deployment environment.
The following configuration shows how to obtain the django-admin-notice
configuration from environment variables and how to configure a fallback.
from os import environ
ADMIN_NOTICE_TEXT = environ.get("ADMIN_NOTICE_TEXT", "Local environment")
ADMIN_NOTICE_TEXT_COLOR = environ.get("ADMIN_NOTICE_TEXT_COLOR", "white")
ADMIN_NOTICE_BACKGROUND = environ.get("ADMIN_NOTICE_BACKGROUND", "green")
Example
Run python manage.py runserver
after following the Installation section
to see a fully working example project.
Contributing
Setup
- Clone the repository and enter the cloned folder
- (optional) Create and activate a dedicated Python virtual environment
- Run
pip install -e ".[dev]"
to install the projects requirements - (optional) Run
pre-commit install
to install the pre-commit hook
Pre-commit hook
Our pre-commit hook formats and lints the code.
Formatting and linting
- Run
black admin_notice tests
to format the code - Run
flake8 admin_notice tests
to lint the code
Testing
- Run
py.test --cov admin_notice tests
to run the tests in the current Python env - Run
tox
to run the tests in all supported Python and Django environments
Makefile
All commands listed above have shortcut make recipes.
Take a look at the Makefile
to learn more.
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-admin-notice-1.1.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02fd2433e82b026cc761abbf628c2f8616d32088230849d01599015bbe062470 |
|
MD5 | efe89555769e48228f5d3c551db101c7 |
|
BLAKE2b-256 | a35123b790ff48a4cc4125d325a839ac274fcc6032224e96f85cdf5b414dd9fd |
Hashes for django_admin_notice-1.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97bfaa996568d6a1b2354f1f475ef6793e7f39a408f545d0fbb15f5b8b57ef27 |
|
MD5 | eac70180dd4802352df7033f8bc438ab |
|
BLAKE2b-256 | 254aaf58d75ed8ef25f0afbe27e5001e432bbacdab07acb2f9333c590b9d6e26 |