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
======================

- celery
- 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.50.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

djpush-0.9.50-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for djpush-0.9.50.tar.gz
Algorithm Hash digest
SHA256 41e9a192b35681f642460fa048a472e77d9a4536cc1da2e2ea9e54f9a4f1e79e
MD5 dbe110e3001869090170f8932c688bb7
BLAKE2b-256 187b3517da34ef6128fde6ac0ef618477ba9b0fa7608a18fe12c1a4799284136

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for djpush-0.9.50-py3-none-any.whl
Algorithm Hash digest
SHA256 82fdb62bedfeb723e73e5ebc5a7037a4dbd9561a84d67bed6043dbd3dab77f70
MD5 ebc8daa9819b806f6c77cea2e12b2fac
BLAKE2b-256 8a637d15ccb39318a3512ff906062844984df83019ee51d893e716d4d6d77585

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