Skip to main content

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:

{% NoticesModal %} 

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

django_one_time_notices-0.1.4.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

django_one_time_notices-0.1.4-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

Details for the file django_one_time_notices-0.1.4.tar.gz.

File metadata

  • Download URL: django_one_time_notices-0.1.4.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.3 Linux/5.15.0-76-generic

File hashes

Hashes for django_one_time_notices-0.1.4.tar.gz
Algorithm Hash digest
SHA256 957026f38f204494a6b0926467311ce426e4d86c3fe86cd68593295d392dd641
MD5 a66befd938732500643f90d7900621fc
BLAKE2b-256 59efc11f94d150c3fe30f45a2186c727ba19d0f724b82a3b7b0ea7c9620e4599

See more details on using hashes here.

File details

Details for the file django_one_time_notices-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for django_one_time_notices-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 84fe37c5010344514ed18acfad3a98e9fda733252eb1af17eb1d799eac3ba17a
MD5 1900c7e00c756123a49cfb4f9ba527a0
BLAKE2b-256 67ce04427bfebfe7de320b84b0b30385868af7ee3dcbe9aeb1e9a92712955e83

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page