Skip to main content

Request-independent messaging for Django on top of contrib.messages

Project description

Almost like django.contrib.messages, but doesn’t need request to message a user.

In fact, django-dbmessages is but a very thin and simple layer on top of Django’s contrib.messages.

To message a user, you simply create and save an instance of provided Message model via shell, Django admin, or some other means.

Message model has all the same attributes you’d normally pass to contrib.messages (level, message, extra_tags), and in addition a ForeignKey link to User model.

The next time given user appears on the site, middleware provided by dbmessages checks if user has any messages for them, and adds them to request using regular contrib.messages API. Then it deletes those messages from the DB. Simple as that.

Quick start

  1. Make sure to enable Django’s contrib.messages in your project (check the docs).
  2. Install django-dbmessages (it’s on PyPI).
  3. Add 'dbmessages' to your INSTALLED_APPS and 'dbmessages.middleware.DBMessageMiddleware' to MIDDLEWARE_CLASSES.
  4. Synchronize (or migrate) the DB.

Now you can get into shell and address a message to yourself:

>>> from dbmessages.models import Message
>>> from django.contrib import messages
>>> Message.objects.create(to_user=your_user, level=messages.INFO, message="Ahoy there")

Provided your front-end is integrated with Django’s contrib.messages, you should see the “Ahoy there” message the next time you log in under your account.

Project details


Release history Release notifications

History Node

0.2.0a

This version
History Node

0.1.1

History Node

0.1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django-dbmessages-0.1.1.tar.gz (6.7 kB) Copy SHA256 hash SHA256 Source None Sep 21, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page