Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

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

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


Download Files

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

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(15.1 kB) Copy SHA256 Hash SHA256
Wheel py2.py3 Mar 6, 2018
(9.5 kB) Copy SHA256 Hash SHA256
Source None Mar 6, 2018

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers