Another newsletter subscription app.
Project description
Another newsletter subscription app.
Subscription flow
User enters his/her email address on /newsletter/.
A mail is sent to the given address containing a link of the form /newsletter/s/<signed_email_address>/.
Upon visiting the link the user is immediately subscribed for the newsletter. Optionally, a form asking the user for additional data is shown.
Unsubscription flow
The user enters his/her email address on /newsletter/ and is immediately unsubscribed.
An email is sent to the user informing him/her that the unsubscription took place. A link is provided to immediately subscribe again in case the unsubscription was not meant to take place. The link is of the form /newsletter/r/<signed_email_address>/.
Subscription model
The minimal set of database fields is as follows:
email (EmailField, unique)
is_active (BooleanField, defaults to False)
Usage
This example assumes you are using at least Django 1.4.
Install django-newsletter-subscription using pip.
Add a concrete model inheriting newsletter_subscription.models.SubscriptionBase with optionally additional fields about the subscription. You should be prepared to work without those additional fields – their presence is not enforced as per the subscription flow description above. A full example:
from django.db import models from django.utils.translation import ugettext_lazy as _ from newsletter_subscription.models import SubscriptionBase class Subscription(SubscriptionBase): full_name = models.CharField(_('full name'), max_length=100, blank=True)
Add the URLconf entry:
from .newsletter.models import Subscription from newsletter_subscription.backend import ModelBackend from newsletter_subscription.urls import newsletter_subscriptions_urlpatterns urlpatterns += patterns( '', url( r'^newsletter/', include(newsletter_subscriptions_urlpatterns( backend=ModelBackend(Subscription), )), ), )
Register your own subscription model with django.contrib.admin.
Add newsletter_subscription to INSTALLED_APPS if you want to use the bundled templates. The templates require Towel’s towel_form_tags template tag library.
Ensure that Django’s messages framework is activated and that the messages are included in your templates, otherwise the notifications from django-newsletter-subscriptions will not be shown to the users.
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
Built Distribution
Hashes for django-newsletter-subscription-0.5.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71b195a08b8a543324d2d125535c093f895f03e1d90150d5d578ecb62b69425f |
|
MD5 | 851f847e79d45f81c720475cb9e02d97 |
|
BLAKE2b-256 | 04c25d2845dc6ee5a04f3b4bc8ab55bde3e44c549232e79e827e02f58592e15a |
Hashes for django_newsletter_subscription-0.5.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2670ce5b7689d76cb9cf8ebc465892650e9d409bfb6d5a354cd28c7e8ff222ed |
|
MD5 | 5f45f884c44f5428ecd4337950433f5d |
|
BLAKE2b-256 | 9ae885bbdef23f25407696e429386546137c8c6ad3a601163c08af8c98817648 |