Skip to main content

Manage programatic *Push Notifications* from Django admin

Project description

========
Djpush
========

Manage programatic *Push Notifications* from Django admin.

Features
========

- Define notifications via the admin
- Categorize notifications
- Schedule notifications by category
- Choose your provider(APNS/apns2, GCM/gcm, OneSignal/yaosac). Actually you must install one.
- Same notification in time range are canceled
- (optional) Multiple language support via django-modelstranslation

Important Dependencies
======================

- django-timezone-field
- pytz

Usage
=====

In your `settings.py` define:

DJPUSH_NOTIFICATIONS_CHOICES
A list of `slugs <https://docs.djangoproject.com/en/1.11/glossary/#term-slug>`_ representing the notifications you want to send.
DJPUSH_DEFAULT_PROVIDER
The provider you want to use to send notifications(values can be found in `pypn <https://github.com/alej0varas/pypn>`_).
optional settings
DJPUSH_NOTIFICATION_EXPIRES
The number of seconds after task will be considered expired

.. code-block:: python

# Get a notification, you define them in the admin
notification = models.Notification.objects.get(slug='a-slug', enabled=True)

# Create a notification instance
notification_instance = models.NotificationInstance.objects.create(notification=notification, tokens=tokens, data=data)

# Send the notification
notification_instance.send()

Development
===========

Update migrations
-----------------

::

DJANGO_SETTINGS_MODULE=migration_settings django-admin makemigrations

Run tests
---------

::

./runtests.py

Build/Publish
-------------

::

rm -rf dist
python setup.py sdist bdist_wheel
twine upload dist/*

Translations
------------

To enable translations you have to install `django-modeltranslation`
and add `MIGRATION_MODULES = {'djpush': 'djangoproject.migrations'}`
to your settings.

Notifications will be sent including the available tranlations.


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

djpush-0.9.91.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

djpush-0.9.91-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file djpush-0.9.91.tar.gz.

File metadata

  • Download URL: djpush-0.9.91.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for djpush-0.9.91.tar.gz
Algorithm Hash digest
SHA256 4f3ff39a83d6280a7de6382b5d99941337d6412d670afd9de4cd92dcfd1990e5
MD5 8c58ae03c8cab8a4e1540dddcbe038d0
BLAKE2b-256 4ccec613e5f5bad1a7cdbd8d04c4f9937e07908d889ab81db0437b1b5a0a3894

See more details on using hashes here.

File details

Details for the file djpush-0.9.91-py3-none-any.whl.

File metadata

File hashes

Hashes for djpush-0.9.91-py3-none-any.whl
Algorithm Hash digest
SHA256 00e61f7d6d7d875c0bc018db6be55b53e735a95b74195ac24bdec130cd3b748b
MD5 f9693325b0ced95e9da6c32259890b38
BLAKE2b-256 7cba13a998a59e39988c9a644760816d3814a70dceedfb002a2cdc955ef8f3a8

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