diddemo-newsletter
Demo Newsletter is a Django app that manages your newsletter subscriptions
Quick start:
-
Add "newsletter" to your INSTALLED_APPS setting like this.
INSTALLED_APPS = [ ... 'newsletter', ]
-
Include the polls URLconf in your project urls.py like this.
path('', include('newsletter.urls', namespace="news")),
-
Run "python manage.py migrate" to create the NewsLetter models.
Optional settings:
-
NL_REDIRECT_HTML
Defailts to 'news/news_letter.html'. You can overwrite this settings by adding NL_REDIRECT_HTML = 'your_html_location' to your settings.py file.
-
UNSUBSCRIBE_DICT
Defaults to {}. You can overwrite this setting by adding UNSUBSCRIBE_DICT = { "1": "Your first unsubscribe reason", "2": "Your second unsubscribe reason", "3": "Your third unsubscribe reason", "4": "Your forth unsubscribe reason" }, to your settings.py file.
Note: "Not specified" will be used when KeyError is raised when processing an unsubscribe request
Note: More settings coming soon
Configuration:
Main model: NewsLetter Model form: NewsLetterForm - the form has an email field only TemplateTag: {% nl_unsubscribe email=user_email reason=your_reason_key %}
-
Code example:
views.py:
from django.views.generic.edit import FormView from newsletter.forms import NewsLetterForm class ExampleView(FormView): template_name = "example.html" form_class = NewsLetterForm success_url = "/news-letter" def form_valid(self, form): form.save() return super().form_valid(form)urls.py:
from django.urls import path from . import views app_name = "your_app_name" urlpatterns = [ path("example", views.ExampleView.as_view(), name="example"),example.html:
<form class="your-classes" id="newsletterform" method="POST"> {% csrf_token %} <input type="email" class="your-classes" placeholder="Your email address.." id="{{form.email.id_for_label}}" name="{{form.email.name}}"> <button class="your-classes" type="submit">Subscribe</button> </form>Your email html:
{% load news_tags %}
...<a href="{% nl_unsubscribe email=email_address reason=reason_key %}">unsubscribe</a>...
Metadata
Release files for django-manage-newsletter 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django-manage-newsletter-0.0.2.tar.gz | 6.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_manage_newsletter-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.4 kB