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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for djpush-0.9.7.tar.gz
Algorithm Hash digest
SHA256 c9ad7acba98be59d99aea2e0753d999657da5a68c3dfe55f2104953672e992a4
MD5 df39960736ecc82ba828c66aec8bdbf5
BLAKE2b-256 378840113f5bd8c0d7cb28134a5e325915657fa2430656da5a391b68c04b34f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for djpush-0.9.7-py3-none-any.whl
Algorithm Hash digest
SHA256 9fb541487f46780d802ac8ac4c545d87956bf7cf9c1cc747c9f682338708503f
MD5 f8f696f4a8cf25d3b72858596e15c957
BLAKE2b-256 cc82e9061e380df4a3044e055bd251443501acbe30c39c5c9464e41cd22464f1

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