No project description provided
Project description
django-one-time-notices
Displays a modal with notice content if a user hasn't seen it yet.
Install
pip install django-one-time-notices
Settings
Add to INSTALLED_APPS:
django.contrib.auth
django.contrib.admin
...
notices
Add to TEMPLATES['OPTIONS']:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
...
'django.core.context_processors.request'
...
'notices.context_processors.notices',
]
}
}
]
To customise the notice colour (button and title border), add
NOTICES_COLOUR=<colour> # any css-acceptable colour
Static assets
Add notices/css/notices.css and notices/js/notices.js to your markup.
Usage
In templates, load the tags:
{% load notices_tags %}
and add the modal:
{% notices_modal %}
The modal will be shown. Once it has been dismissed it won't be shown again unless the notice version changes (see below), the notice_seen cookie is deleted, or the notice timeout is reached.
Setting/updating the notice
via models and django admin
Add a Notice instance in the django admin.
Notices have title, content, version and optional timeout_seconds, starts_at and expires_at fields.
Version can be any positive number; it defaults to incrementing the last version number. Set the expires_at datetime to avoid showing this notice after the specified date, even if the user has never seen/dismissed it. Set the starts_at datetime to avoid showing the notice until a
particular date/time.
Note that only the notice with the latest version will be shown. If the latest version has not started yet, a previous version will not be shown, even if it hasn't expired.
Set the timeout_seconds to set a cookie timeout; this means the notice will be reshown.
To show a new notice, add another Notice instance with an incremented version number.
configure settings
NOTICES_COLOUR: Change the colour of the popup with any css colour
NOTICES_SAFE: Mark notices content as safe - allow any arbitrary html. Default False.
via django settings
Override the Notice model by adding to your settings.py:
NOTICES_VERSION # an integer
NOTICES_TITLE # optional, default = "New!"
NOTICES_CONTENT # optional, default = ""
NOTICES_TIMEOUT_SECONDS # optional, default = None
Set NOTICES_VERSION = 0 to clear the cookie and disable showing notices at all.
Project details
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django_one_time_notices-1.0.0.tar.gz.
File metadata
- Download URL: django_one_time_notices-1.0.0.tar.gz
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.11.6 Darwin/23.1.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7eb3b55dda0aea6f4589d58815f4e980927f948239d4db879cb92141e2fbee10
|
|
| MD5 |
89e933eb50477d3d61b9d4af322ff14d
|
|
| BLAKE2b-256 |
5c13a94b1be8359e865a60c80cda143349832f104308a1a9b129161c478d09f0
|
File details
Details for the file django_one_time_notices-1.0.0-py3-none-any.whl.
File metadata
- Download URL: django_one_time_notices-1.0.0-py3-none-any.whl
- Upload date:
- Size: 14.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.11.6 Darwin/23.1.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32efb1c5e9997a411ff1391707689d8fbfad51e656ebc76206457e92922a5221
|
|
| MD5 |
df28131fcf47ba471f59f55d99071372
|
|
| BLAKE2b-256 |
92b091d3ae392fd12e4a128d10312744299ceace2924fe66d0ca03db97015696
|