允许所有人取消订阅您的邮件,不需要用户帐户。
django-opt-out的Python项目详细描述
允许所有人取消订阅您的邮件,不需要用户帐户。
- 自由软件:麻省理工学院许可证
- 文档:https://django-opt-out.readthedocs.io。
功能
- 提交选择退出反馈的单页表单
- Django管理员控制的反馈选项文本
- django manage命令提供预定义的默认反馈
- 在Django Admin中完成的反馈翻译
- 根据提供给选择退出URL的标记选择反馈选项
- 预选反馈选项的能力
- 提交后更改所选反馈选项的能力
- 能够在选择退出url上设置tag:value对,并在提交时将它们与用户反馈一起存储
- 在渲染前修改退出表单的信号
- 选择退出反馈提交信号
- 易于覆盖的“谢谢/再见”视图
- 使用易于重写的基本模板选择退出表单
快速启动
安装Django退出应用程序:
pip install django-opt-out
将其添加到已安装的应用程序中
INSTALLED_APPS=(...'django_opt_out.apps.DjangoOptOutConfig',...)
添加django opt out应用程序的url模式:
fromdjango_opt_outimporturlsasdjango_opt_out_urlsurlpatterns=[...url(r'^',include(django_opt_out_urls)),...]
在电子邮件中添加取消订阅链接:
fromdjango_opt_out.utilsimportget_opt_out_pathemail='Django Opt-out <django-opt-out@niepodam.pl>'unsubscribe=get_opt_out_path(email,'some','tags','controlling','questionnaire')# unsubscribe link will not have a domain name and scheme# you can build prefix from request, but I prefer to set it in settingsfromdjango.confimportsettingsunsubscribe=settings.BASE_URL+unsubscribebody='Hello, Regards\n\nUnsubscribe: '+unsubscribefromdjango.coreimportmailmessage=mail.EmailMultiAlternatives(body=body,to=[email])message.extra_headers['List-Unsubscribe']="<{}>".format(unsubscribe)message.send()
运行测试
代码真的有用吗?
source <YOURVIRTUALENV>/bin/activate (myenv) $ pip install tox (myenv) $ tox
学分
这个包是用Cookiecutter和wooyek/cookiecutter-django-app项目模板创建的。
历史记录
0.1.0(2017-11-03)
- pypi上的第一个版本。