{ "info": { "author": "Matthias Kestenholz", "author_email": "mk@406.ch", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development", "Topic :: Software Development :: Libraries :: Application Frameworks" ], "description": "==============================\ndjango-newsletter-subscription\n==============================\n\nAnother newsletter subscription app.\n\n.. image:: https://travis-ci.org/matthiask/django-newsletter-subscription.png?branch=master\n :target: https://travis-ci.org/matthiask/django-newsletter-subscription\n\n\nSubscription flow\n=================\n\n- User enters his/her email address on ``/newsletter/``.\n- A mail is sent to the given address containing a link of the form\n ``/newsletter/s//``.\n- Upon visiting the link the user is immediately subscribed for the newsletter.\n Optionally, a form asking the user for additional data is shown.\n\n\nUnsubscription flow\n===================\n\n- The user enters his/her email address on ``/newsletter/`` and is immediately\n unsubscribed.\n- An email is sent to the user informing him/her that the unsubscription took\n place. A link is provided to immediately subscribe again in case the\n unsubscription was not meant to take place. The link is of the form\n ``/newsletter/r//``.\n\n\nSubscription model\n==================\n\nThe minimal set of database fields is as follows:\n\n- ``email`` (``EmailField``, unique)\n- ``is_active`` (``BooleanField``, defaults to ``False``)\n\n\nUsage\n=====\n\nThis example assumes you are using at least Django 1.4.\n\n1. Install ``django-newsletter-subscription`` using pip.\n\n2. Add a concrete model inheriting\n ``newsletter_subscription.models.SubscriptionBase`` with optionally\n additional fields about the subscription. You should be prepared to work\n without those additional fields -- their presence is not enforced as per\n the subscription flow description above. A full example::\n\n from django.db import models\n from django.utils.translation import ugettext_lazy as _\n\n from newsletter_subscription.models import SubscriptionBase\n\n class Subscription(SubscriptionBase):\n full_name = models.CharField(_('full name'), max_length=100, blank=True)\n\n3. Add the URLconf entry::\n\n from .newsletter.models import Subscription\n\n from newsletter_subscription.backend import ModelBackend\n from newsletter_subscription.urls import newsletter_subscriptions_urlpatterns\n\n urlpatterns += patterns(\n '',\n url(\n r'^newsletter/',\n include(newsletter_subscriptions_urlpatterns(\n backend=ModelBackend(Subscription),\n )),\n ),\n )\n\n4. Register your own subscription model with ``django.contrib.admin``.\n\n5. Add ``newsletter_subscription`` to ``INSTALLED_APPS`` if you want to use\n the bundled templates. The templates require\n `Towel `_'s ``towel_form_tags``\n template tag library.\n\n6. Ensure that Django's\n `messages framework `_\n is activated and that the messages are included in your templates, otherwise\n ``django-newsletter-subscriptions``s notifications will not be shown to the\n users.\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/matthiask/django-newsletter-subscription/", "keywords": "", "license": "BSD License", "maintainer": "", "maintainer_email": "", "name": "django-newsletter-subscription", "package_url": "https://pypi.org/project/django-newsletter-subscription/", "platform": "OS Independent", "project_url": "https://pypi.org/project/django-newsletter-subscription/", "project_urls": { "Homepage": "http://github.com/matthiask/django-newsletter-subscription/" }, "release_url": "https://pypi.org/project/django-newsletter-subscription/0.4.0/", "requires_dist": [ "Django (>=1.8)" ], "requires_python": "", "summary": "Another newsletter subscription app.", "version": "0.4.0" }, "last_serial": 3644670, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "3bfabf1fb6dce1e7b8e2aa248292a29d", "sha256": "da7d394489dd3109acdf1c9ca2926320ecbb17c9f58288b9532a30ccdcbd026c" }, "downloads": -1, "filename": "django-newsletter-subscription-0.0.1.tar.gz", "has_sig": true, "md5_digest": "3bfabf1fb6dce1e7b8e2aa248292a29d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8665, "upload_time": "2013-03-14T14:51:43", "url": "https://files.pythonhosted.org/packages/20/9f/e2f4a14c4ac050982dc558f82eff39b332cacd451d05dabd76b5cb46f895/django-newsletter-subscription-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "a5907dc7c9d14d0ae23f14671ed86333", "sha256": "a3b953eeb03b978eea3eda14d3f60120e31ecec8912b67bca7e5ea98c1910b64" }, "downloads": -1, "filename": "django-newsletter-subscription-0.0.2.tar.gz", "has_sig": true, "md5_digest": "a5907dc7c9d14d0ae23f14671ed86333", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9045, "upload_time": "2013-10-07T09:46:26", "url": "https://files.pythonhosted.org/packages/62/4c/87cc4b33b1d776736770a80c6082ebb22ef0e1bac477c99666b11ba57834/django-newsletter-subscription-0.0.2.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "db679ac42ac0e704b58f96c884120983", "sha256": "ebf7b67165314d8298a66cdeb4bbb04db0ffb853be9f8cd9b9b1b5442ce43407" }, "downloads": -1, "filename": "django-newsletter-subscription-0.1.0.tar.gz", "has_sig": true, "md5_digest": "db679ac42ac0e704b58f96c884120983", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10228, "upload_time": "2013-11-18T09:56:34", "url": "https://files.pythonhosted.org/packages/27/0e/dd15b99bccbad89703048a9fded7d91776503b343d68c1d113d5f1fa3237/django-newsletter-subscription-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "42ee9707dbce7a38acbed8a695b42dd7", "sha256": "6f25796394cff31056a656ef9a5dd63ba2ab68d433d516cc1d78a2cf69e4e403" }, "downloads": -1, "filename": "django_newsletter_subscription-0.2.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "42ee9707dbce7a38acbed8a695b42dd7", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 14148, "upload_time": "2014-09-25T11:08:24", "url": "https://files.pythonhosted.org/packages/05/c3/bb46976487db02c92f8bd8b72e1a236cdc2119bc25c337a45eada2fcfa4b/django_newsletter_subscription-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "60aae71dd6b68b8d4dad94a72054e408", "sha256": "35d937a85421bf43fda952aba2bc6f7685d87ac4c64aed2357a5adfdb7639400" }, "downloads": -1, "filename": "django-newsletter-subscription-0.2.0.tar.gz", "has_sig": true, "md5_digest": "60aae71dd6b68b8d4dad94a72054e408", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10320, "upload_time": "2014-09-25T11:08:13", "url": "https://files.pythonhosted.org/packages/b4/25/0dee87be797a94f49bffcde940e7e66e253d2fe5b296f174af4c9c9b7310/django-newsletter-subscription-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "a708f8b114c3b668f5eb8ece450e1e70", "sha256": "321aed3b5253a581341f0e6119318512f17f5d283bbf32af0b7db2ef76df8892" }, "downloads": -1, "filename": "django_newsletter_subscription-0.3.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "a708f8b114c3b668f5eb8ece450e1e70", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 14195, "upload_time": "2016-01-18T10:04:40", "url": "https://files.pythonhosted.org/packages/3e/9b/461e66ae0ff97cae053fe10247b279fd38ee6d2bd0e45bcac6de194c8e3d/django_newsletter_subscription-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b0a6e856576ffb9eb79e13560dec3be4", "sha256": "4c5deada3a4ef787ca3718a7c71392df6009afd8f55ba1404ad5c6adf89c528b" }, "downloads": -1, "filename": "django-newsletter-subscription-0.3.0.tar.gz", "has_sig": true, "md5_digest": "b0a6e856576ffb9eb79e13560dec3be4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10346, "upload_time": "2016-01-18T10:04:31", "url": "https://files.pythonhosted.org/packages/22/18/50ee32db9ba80bb8c90a63c7e9e8cae8b099c7e737bd6b7900ef89d9dbba/django-newsletter-subscription-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "f80fe95ae2a3540f5294d870f7eb09b4", "sha256": "fb068b2610862d2818138a54db74915db01f19ce9a1801175129a46d9314d3c8" }, "downloads": -1, "filename": "django_newsletter_subscription-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f80fe95ae2a3540f5294d870f7eb09b4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15069, "upload_time": "2018-03-06T16:06:54", "url": "https://files.pythonhosted.org/packages/62/86/b50d2b540a6fb148f49496f7bc59096e6989a137795460dd0528e257c8d5/django_newsletter_subscription-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1a695087518ea8ef59a0026f7662ff60", "sha256": "fb2f586ebeaf18c91340ce47440ea302dbcd70e4e39260572e565ed153a21f50" }, "downloads": -1, "filename": "django-newsletter-subscription-0.4.0.tar.gz", "has_sig": false, "md5_digest": "1a695087518ea8ef59a0026f7662ff60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9486, "upload_time": "2018-03-06T16:06:56", "url": "https://files.pythonhosted.org/packages/83/8d/35ebf45f088a07e0b6cd7ac758fa480f08f2c9744674520c6882dd8c93e8/django-newsletter-subscription-0.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f80fe95ae2a3540f5294d870f7eb09b4", "sha256": "fb068b2610862d2818138a54db74915db01f19ce9a1801175129a46d9314d3c8" }, "downloads": -1, "filename": "django_newsletter_subscription-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f80fe95ae2a3540f5294d870f7eb09b4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15069, "upload_time": "2018-03-06T16:06:54", "url": "https://files.pythonhosted.org/packages/62/86/b50d2b540a6fb148f49496f7bc59096e6989a137795460dd0528e257c8d5/django_newsletter_subscription-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1a695087518ea8ef59a0026f7662ff60", "sha256": "fb2f586ebeaf18c91340ce47440ea302dbcd70e4e39260572e565ed153a21f50" }, "downloads": -1, "filename": "django-newsletter-subscription-0.4.0.tar.gz", "has_sig": false, "md5_digest": "1a695087518ea8ef59a0026f7662ff60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9486, "upload_time": "2018-03-06T16:06:56", "url": "https://files.pythonhosted.org/packages/83/8d/35ebf45f088a07e0b6cd7ac758fa480f08f2c9744674520c6882dd8c93e8/django-newsletter-subscription-0.4.0.tar.gz" } ] }