{ "info": { "author": "Daniel Kaufhold", "author_email": "daniel.kaufhold@bitmazk.com", "bugtrack_url": null, "classifiers": [], "description": "Django Newsletter Signup\n========================\n\nA reusable Django app, that handles newsletter subscriptions.\n\nImportant note!\n+++++++++++++++\n\nIf you upgrade from 0.2 upwards, you need to be aware, that the migrations were\nreset. They used to be south, but they have been re-created to new Django\nmigrations in 0.3.\n\nIf you're first install is on 0.3 or beyond, you don't have to do anything.\n\nInstallation\n------------\n\nTo get the latest stable release from PyPi\n\n.. code-block:: bash\n\n pip install django-newsletter-signup\n\nTo get the latest commit from GitHub\n\n.. code-block:: bash\n\n pip install -e git+git://github.com/bitmazk/django-newsletter-signup.git#egg=newsletter_signup\n\nAdd ``newsletter_signup`` to your ``INSTALLED_APPS``\n\n.. code-block:: python\n\n INSTALLED_APPS = (\n ...,\n 'newsletter_signup',\n )\n\nAdd the ``newsletter_signup`` URLs to your ``urls.py``\n\n.. code-block:: python\n\n urlpatterns = patterns('',\n ...\n url(r'^newsletter/', include('newsletter_signup.urls')),\n )\n\nAdd the provided middleware to catch all referrers\n\n.. code-block:: python\n\n MIDDLEWARE_CLASSES = (\n '...', # your other middlewares\n 'newsletter.middleware.GetRefererMiddleware',\n )\n\nDon't forget to migrate your database\n\n.. code-block:: bash\n\n ./manage.py migrate newsletter_signup\n\n\nUsage\n-----\n\nJust link to the signup page or fetch it's contents via AJAX into e.g. a\nbootstrap modal. Once a user fills out the subscription form she gets a\nverification email, that on click makes the Subscription verified.\n\nFuture updates might include mailchimp integration to have everything setup\nright away. For now you then need to gather the emails from the admin or your\nown custom management views that you want to send mails to, or alternatively\ncreate a custom management command.\n\nManagement Commands\n-------------------\n\ncheck_newsletter_signups\n++++++++++++++++++++++++\n\nThis command will iterate through all signups and check if there's a user in\nthe system matching a signup's email. You might want to run this command in a\ncron job.\n\nSettings\n--------\n\nDOMAIN\n++++++\n\n``Default = 'locahost:8000'``\n\n``DOMAIN`` is the hostname of your site.\n\n.. code-block:: python\n\n DOMAIN = 'example.com'\n\nNEWSLETTER_SIGNUP_FROM_EMAIL\n++++++++++++++++++++++++++++\n\nTo set the from email in the mails, you can either specifically set the\n``NEWSLETTER_SIGNUP_FROM_EMAIL`` setting or only the ``FROM_EMAIL`` setting,\nwhich it per default falls back to.\n\n..code-block:: python\n\n NEWSLETTER_SIGNUP_FROM_EMAIL = 'news@example.com'\n\n\nNEWSLETTER_SIGNUP_SUBSCRIBE_SUBJECT and NEWSLETTER_SIGNUP_UNSUBSCRIBE_SUBJECT\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n\nBoth of these setting work in the same way as they set the email subject for\nthe subscripe and unsubscribe email. You can either provide a string or a\ncallable object receiving the subscription object as a parameter.\nSee ``models.py`` for details. Alternatively you could overwrite those two\ntemplates ``email/unsubscripe_subject.html`` and\n``email/subscripe_subject.html``.\n\n..code-block:: python\n\n SUBSCRIBE_SUBJECT = 'Your subscription to our newsletter!'\n\n UNSUBSCRIBE_SUBJECT = lambda sub: '{0} was unsubscribed.'.format(\n sub.email)\n\n\nNEWSLETTER_SIGNUP_FORCE_MODAL\n+++++++++++++++++++++++++++++\n\n``Default = False``\n\nIf you use a modal or some other kind of visual element, to hint at the\nnewsletter, you can set this to True to always show it.\n\nIt's intended, that you do something like this in your template::\n\n {% if not request.session.has_seen_newsletter_signup_modal %}\n {% has_seen_modal %}\n {% include \"path/to/newsletter_signup_modal.html\" %}\n {% endif %}\n\nThe ``has_seen_modal`` template tag sets the session value\n``has_seen_newsletter_signup_modal`` to ``True`` when the tag is rendered.\n\nThat way, the user won't see the modal the next time the view is called, unless\nyou set ``NEWSLETTER_SIGNUP_FORCE_MODAL`` to ``True``, since that prevents the\nsession value from becoming ``True`` in the first place.\n\nNEWSLETTER_SIGNUP_NAME_REQUIRED\n+++++++++++++++++++++++++++++++\n\n``Default = False``\n\nIf set to ``True`` this setting will add ``first_name`` and ``last_name`` fields\nto the signup form. These values are then stored on the ``NewsletterSignup``\nmodel.\n\nNEWSLETTER_SIGNUP_VERIFICATION_REQUIRED\n+++++++++++++++++++++++++++++++++++++++\n\n``Default = False``\n\nIf set to ``True`` the user will receive an email after signing up with a\nverification link.\nSame goes for unsubscription.\nPer default the user is just (un)subscribed on form submit.\n\n\nContribute\n----------\n\nIf you want to contribute to this project, please perform the following steps\n\n.. code-block:: bash\n\n # Fork this repository\n # Clone your fork\n mkvirtualenv -p python2.7 django-newsletter-signup\n make develop\n\n git co -b feature_branch master\n # Implement your feature and tests\n git add . && git commit\n git push -u origin feature_branch\n # Send us a pull request for your feature branch\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/bitmazk/django-newsletter-signup", "keywords": "django", "license": "The MIT License", "maintainer": "", "maintainer_email": "", "name": "django-newsletter-signup", "package_url": "https://pypi.org/project/django-newsletter-signup/", "platform": "OS Independent", "project_url": "https://pypi.org/project/django-newsletter-signup/", "project_urls": { "Homepage": "https://github.com/bitmazk/django-newsletter-signup" }, "release_url": "https://pypi.org/project/django-newsletter-signup/0.6.2/", "requires_dist": null, "requires_python": "", "summary": "A reusable Django app, that handles newsletter subscriptions\n", "version": "0.6.2" }, "last_serial": 4379890, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "e4f4ab7caee38c48dc0baaec243f9b5a", "sha256": "9712d4b3dff62923a49171ddbb335a3f6ead44aaa37c9e46921ec1366042b8c2" }, "downloads": -1, "filename": "django-newsletter-signup-0.1.tar.gz", "has_sig": false, "md5_digest": "e4f4ab7caee38c48dc0baaec243f9b5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12491, "upload_time": "2014-05-24T08:36:32", "url": "https://files.pythonhosted.org/packages/9e/a0/3dcbe45cfcd9fdceeb7589dcd9faef20217f368c110ca986ebcbb5558045/django-newsletter-signup-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "119909752ded83656368dfad6a5d9a3d", "sha256": "5fee21f0c232129e06b8c721a27f5ff22d06176ea19af72e7a9cc43005e5823e" }, "downloads": -1, "filename": "django-newsletter-signup-0.2.tar.gz", "has_sig": false, "md5_digest": "119909752ded83656368dfad6a5d9a3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13703, "upload_time": "2014-10-31T06:24:27", "url": "https://files.pythonhosted.org/packages/95/1d/f9cd227c0531295d628394a353c811cb7f1f3f0e47e7d6ab92540f6fdf58/django-newsletter-signup-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "e03548042702246e6e6cbe2781430124", "sha256": "10c1a43a2ed482ad2ffdfbfa44eda799ec9699a652cc7832bea7f94d71f76e11" }, "downloads": -1, "filename": "django-newsletter-signup-0.3.tar.gz", "has_sig": false, "md5_digest": "e03548042702246e6e6cbe2781430124", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15860, "upload_time": "2016-04-13T06:06:31", "url": "https://files.pythonhosted.org/packages/91/57/b5c2132f3fad816b27144a2117cf65764583d3c298b67c110223c0516243/django-newsletter-signup-0.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "fcfea4a910497651d0ba67985f42b420", "sha256": "4913e3744eef80c6b522032b80ad03b1e91c856989404d6e0ed54a41ddea939d" }, "downloads": -1, "filename": "django-newsletter-signup-0.3.4.tar.gz", "has_sig": false, "md5_digest": "fcfea4a910497651d0ba67985f42b420", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16555, "upload_time": "2016-04-13T07:37:20", "url": "https://files.pythonhosted.org/packages/ab/1a/738f205b0db947acffbb920f1189eeeb667d9d14195951065ee52254ee34/django-newsletter-signup-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "faed9ab589f7ab304d46a78920c41404", "sha256": "77b9535ecab417260848b5c029dda67ebc0cef44a6a7342ae32951704670886f" }, "downloads": -1, "filename": "django-newsletter-signup-0.3.5.tar.gz", "has_sig": false, "md5_digest": "faed9ab589f7ab304d46a78920c41404", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16579, "upload_time": "2016-04-13T08:38:58", "url": "https://files.pythonhosted.org/packages/bb/60/2d0f0141c243401fc191415a153d25cf394494d58bff64b235f6169250d1/django-newsletter-signup-0.3.5.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "e4d5b0ead4bdc5a82f121af5449eee11", "sha256": "163ec808cb868448ec3d8ee714961b1004e7e3aae804b606807c36d5926cacd7" }, "downloads": -1, "filename": "django-newsletter-signup-0.4.tar.gz", "has_sig": false, "md5_digest": "e4d5b0ead4bdc5a82f121af5449eee11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16481, "upload_time": "2016-08-04T18:40:58", "url": "https://files.pythonhosted.org/packages/5c/71/874bd20dc094a4d8a64dab3984f0ec4fb34bd31683b3974edbcdfcda6ef3/django-newsletter-signup-0.4.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "c5d856cd3a595233a21f583fbd5331d6", "sha256": "ec31a1fb6599845b3de2f60a8c77637c451e4ca233222e048bcbb9b702fe6f66" }, "downloads": -1, "filename": "django-newsletter-signup-0.4.1.tar.gz", "has_sig": false, "md5_digest": "c5d856cd3a595233a21f583fbd5331d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16569, "upload_time": "2016-08-04T19:20:47", "url": "https://files.pythonhosted.org/packages/75/dd/ec20595fb5973e7020de889566ab42dcc64712234299e41a350eb4dad9cd/django-newsletter-signup-0.4.1.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "8f8fb5b57261aa0a53639a85147c46e9", "sha256": "f903eb0045e32b24c3a521a17a3cd016b1850ac0f8a01cbb038f3f4fe597a15c" }, "downloads": -1, "filename": "django-newsletter-signup-0.5.tar.gz", "has_sig": false, "md5_digest": "8f8fb5b57261aa0a53639a85147c46e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17005, "upload_time": "2016-12-07T10:14:04", "url": "https://files.pythonhosted.org/packages/06/cb/7c6952021a045c18406b12765e3c639f3b40de0067348f438c799d8ac25c/django-newsletter-signup-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "24be22009a41c0cba56c8345c38388bb", "sha256": "91e74289b0a208ed39e0fbd094ca96e1b9e816d079715d6fc2a27b616ab29e45" }, "downloads": -1, "filename": "django-newsletter-signup-0.6.tar.gz", "has_sig": false, "md5_digest": "24be22009a41c0cba56c8345c38388bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16893, "upload_time": "2018-07-16T07:06:44", "url": "https://files.pythonhosted.org/packages/e6/01/09a534a29422df678ba95b73413e96a225b4970cf5ad53894abccde92cde/django-newsletter-signup-0.6.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "b557971936fcefb7f82035f98700241f", "sha256": "c1b6373c61c2ab313bba96731c574bc31288846937cb68935104d7c7b5550041" }, "downloads": -1, "filename": "django-newsletter-signup-0.6.1.tar.gz", "has_sig": false, "md5_digest": "b557971936fcefb7f82035f98700241f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15271, "upload_time": "2018-07-18T08:50:39", "url": "https://files.pythonhosted.org/packages/07/93/df4abc8aee7d369ca19ddd6843341dfd170c02b39c7f4aa4d080f9cfddcd/django-newsletter-signup-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "04496257860e8d87cda8608474c84f05", "sha256": "92d675a6503bcf9e8b28e56912eb0b97b4a87685346e638a9a924bd2ec523750" }, "downloads": -1, "filename": "django-newsletter-signup-0.6.2.tar.gz", "has_sig": false, "md5_digest": "04496257860e8d87cda8608474c84f05", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15311, "upload_time": "2018-10-16T03:35:43", "url": "https://files.pythonhosted.org/packages/53/5d/268bf6362b5af57f3f50fcea3eec6b43b5b81d1485e05dc26b2d5f63824a/django-newsletter-signup-0.6.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "04496257860e8d87cda8608474c84f05", "sha256": "92d675a6503bcf9e8b28e56912eb0b97b4a87685346e638a9a924bd2ec523750" }, "downloads": -1, "filename": "django-newsletter-signup-0.6.2.tar.gz", "has_sig": false, "md5_digest": "04496257860e8d87cda8608474c84f05", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15311, "upload_time": "2018-10-16T03:35:43", "url": "https://files.pythonhosted.org/packages/53/5d/268bf6362b5af57f3f50fcea3eec6b43b5b81d1485e05dc26b2d5f63824a/django-newsletter-signup-0.6.2.tar.gz" } ] }