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.

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)


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.

Release History

Release History

This version
History Node


History Node


History Node


History Node


History Node


Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
django_newsletter_subscription-0.3.0-py2.py3-none-any.whl (14.2 kB) Copy SHA256 Checksum SHA256 2.7 Wheel Jan 18, 2016
django-newsletter-subscription-0.3.0.tar.gz (10.3 kB) Copy SHA256 Checksum SHA256 Source Jan 18, 2016

Supported By

WebFaction WebFaction Technical Writing 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 Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting