A Django app to manage newsletter subscriptions
Project description
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>...
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters