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
.
# yourproject/settings.py
INSTALLED_APPS = [
# ... other 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
.
# yourproject/settings.py
TEMPLATES = [
{
"OPTIONS": {
"context_processors": [
# ... other context processors
"admin_notice.context_processors.notice", # <-- Add this
# ... other context processors
]
},
},
]
Configuration
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.
# yourproject/settings.py
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
.
# yourproject/settings.py
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.
# project/settings.py
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.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a6ec4b15e743ffaea461b328f54b903ab9e9f91882145c84b59e9eceacd5e60 |
|
MD5 | ce1866389b9c39229f879c06935621ac |
|
BLAKE2b-256 | f82e92ad1c4291e3128e86b9179d5b3630ca6e9ce930e8ee7314b0f594327aaa |
Hashes for django_admin_notice-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6934abefcc535b9e81a7d4dbdc89a9ce37ea07997588dcb9d31925c8d98131a9 |
|
MD5 | 81e482c8fffca79569e75729f71ce947 |
|
BLAKE2b-256 | 9ebb35f616194a180b06414fc95ba743bca3b0c4e6a7e6cf3eddc509feca448d |