Notification sytem for Django
Django NotifyX is a reusable app which adds notification system features to your Django app.
This is just a quick guide to get things to work ASAP. To dive into the details.. Read the docs
Probably the best way to install is by using PIP:
$ pip install django-notify-x
If you want to stay on the bleeding edge of the app:
$ git clone https://github.com/v1k45/django-notify-x.git $ cd django-notify-x $ python setup.py install
After the you’ve installed django-notify-x in your python enviroment. You have to make an entry of the same in your project settings.py file:
INSTALLED_APPS = ( ... 'your.other.apps', ... 'notify', )
Then an entry on the urls.py file:
urlpatterns = ( url(r'^notifications/', include('notify.urls', 'notifications')), )
Then run migrations:
$ python manage.py migrate notify
Then collectstatic to make sure you’ve copied the JS file for AJAX functionality:
$ python manage.py collectstatic
You’ve successfully installed django-notify-x!
from notify.signals import notify # your example view def follow_user(request, user): user = User.objects.get(username=user) ... dofollow ... notify.send(request.user, recipient=user, actor=request.user verb='followed you.', nf_type='followed_by_one_user') return YourResponse
Easy as pie, isn’t it?
from notify.signals import notify # your example view def upload_video(request): ... uploadvideo... ... video = VideoUploader.getupload() followers = list(request.user.followers()) notify.send(request.user, recipient_list=followers, actor=request.user verb='uploaded.', target=video, nf_type='video_upload_from_following') return YourResponse
Just change the recipient to recipient_list and send notifications to as many users you want!
recipient_list expects supplied object to be a list() instance, make sure you convert your QuerySet to list() before assigning vaule.
Notification Concatenation is what you see when you read notifications like Bob and 64 others liked your status. A developmental support is available for it, but it only supports Python3 for now.
If you use Python3, you can add this feature to your application. Please read instructions on nf_concat_support branch.
It will be best to Read the Docs instead of expecting every thing from a quick guide :)