Metadata-Version: 1.1
Name: django-herald
Version: 0.1.1
Summary: Django library for separating the message content from transmission method
Home-page: https://github.com/worthwhile/django-herald/
Author: Worthwhile
Author-email: devs@worthwhile.com
License: MIT
Download-URL: https://github.com/worthwhile/django-herald/tarball/0.1.1
Description: # django-herald 
        [![Build Status](https://travis-ci.org/worthwhile/django-herald.svg?branch=master)](https://travis-ci.org/worthwhile/django-herald)
        
        Django library for separating the message content from transmission method
        
        # Installation 
        
        1. `pip install django-herald`
        2. Add `herald` to `INSTALLED_APPS`.
        3. Add herald's URLS:
            
                if settings.DEBUG:
                    urlpatterns = [
                        url(r'^herald/', include('herald.urls')),
                    ] + urlpatterns
                
        # Usage
        
        1. Create a `notifications.py` file in any django app. This is where your notification classes will live. Add a class like this:
        
                from herald import registry
                from herald.base import EmailNotification
            
        
                class WelcomeEmail(EmailNotification):  # extend from EmailNotification for emails
                   template_name = 'welcome_email'  # name of template, without extension
                   subject = 'Welcome'  # subject of email
                
                   def __init__(self, user):  # optionally customize the initialization
                       self.context = {'user': user}  # set context for the template rendering
                       self.to_emails = [user.email]  # set list of emails to send to
                
                   @staticmethod
                   def get_demo_args():  # define a static method to return list of args needed to initialize class for testing
                       from users.models import User
                       return [User.objects.order_by('?')[0]]
                
                registry.register(WelcomeEmail)  # finally, register your notification class
            
        2. Create templates for rendering the email using this file structure:
            
                templates/
                    herald/
                        text/
                            welcome_email.txt
                        html/
                            welcome_email.html
                        
        3. Test how your email looks by navigating to `/herald/`.
        
        4. Send your email wherever you need in your code:
        
                WelcomeEmail(user).send()
           
        5. View the sent emails in django admin and even be able to resend it.
Keywords: django,notifications,messaging
Platform: UNKNOWN
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
