Skip to main content

Another newsletter subscription app.

Project description

Another newsletter subscription app.

https://travis-ci.org/matthiask/django-newsletter-subscription.png?branch=master

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.

  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(
        '',
        url(
            r'^newsletter/',
            include(newsletter_subscriptions_urlpatterns(
                backend=ModelBackend(Subscription),
            )),
        ),
    )
  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.

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

django-newsletter-subscription-0.3.0.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

django_newsletter_subscription-0.3.0-py2.py3-none-any.whl (14.2 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-newsletter-subscription-0.3.0.tar.gz.

File metadata

File hashes

Hashes for django-newsletter-subscription-0.3.0.tar.gz
Algorithm Hash digest
SHA256 4c5deada3a4ef787ca3718a7c71392df6009afd8f55ba1404ad5c6adf89c528b
MD5 b0a6e856576ffb9eb79e13560dec3be4
BLAKE2b-256 221850ee32db9ba80bb8c90a63c7e9e8cae8b099c7e737bd6b7900ef89d9dbba

See more details on using hashes here.

File details

Details for the file django_newsletter_subscription-0.3.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_newsletter_subscription-0.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 321aed3b5253a581341f0e6119318512f17f5d283bbf32af0b7db2ef76df8892
MD5 a708f8b114c3b668f5eb8ece450e1e70
BLAKE2b-256 3e9b461e66ae0ff97cae053fe10247b279fd38ee6d2bd0e45bcac6de194c8e3d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page