Skip to main content

Another newsletter subscription app.

Project description


Another newsletter subscription app.

.. image::

Subscription flow

- User enters his/her email address on ``/newsletter/``.
- A mail is sent to the given address containing a link of the form
- 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
- 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

Subscription model

The minimal set of database fields is as follows:

- ``email`` (``EmailField``, unique)
- ``is_active`` (``BooleanField``, defaults to ``False``)


This example assumes you are using at least Django 1.4.

1. Install ``django-newsletter-subscription`` using pip.

2. 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)

3. 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(

4. Register your own subscription model with ``django.contrib.admin``.

5. 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.

6. Ensure that Django's
`messages framework <>`_
is activated and that the messages are included in your templates, otherwise
``django-newsletter-subscriptions``s notifications will not be shown to the

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-newsletter-subscription, version 0.4.0
Filename, size File type Python version Upload date Hashes
Filename, size django_newsletter_subscription-0.4.0-py2.py3-none-any.whl (15.1 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size django-newsletter-subscription-0.4.0.tar.gz (9.5 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page