Django的Mailchimp邮件列表系统集成应用程序,使用Mailchimp API 1.3
项目描述
这是一个处理Mailchimp邮件列表系统的Django集成应用程序。
快速入门指南
安装
安装 django-mailchimp-v1.3
pip install django-mailchimp-v1.3
在您的settings.py中添加一个MAILCHIMP_API_KEY,其值为您的mailchimp API密钥(显然)
将mailchimp添加到您项目的INSTALLED_APPS列表中
4. 要开始使用API,您应该先使用utils.get_connection()。这将使用您在settings.py中定义的API_KEY
将用户订阅到列表
获取列表
list = mailchimp.utils.get_connection().get_list_by_id(<list key id>)
现在添加一个成员到邮件列表
list.subscribe('example@example.com', {'EMAIL':'example@example.com'})
那些讨厌的合并变量
一般信息
Mailchimp是一个相当通用的服务。因此,它需要存储订阅该列表的人的信息,并且这些信息对该列表非常具体!
为了帮助您构建动态表单(可能),Mailchimp 添加了 merge_vars。它们基本上是一个字典,显示为每条信息定义的信息和元信息。以下是默认合并变量的示例(在一个全新的列表中,使用默认选项)
[ { 'field_type': 'email', 'name': 'Email Address', 'show': True, 'default': None, 'req': True, 'public': True, 'tag': 'EMAIL', 'helptext': None, 'order': '1', 'size': '25' },{ 'field_type': 'text', 'name': 'First Name', 'show': True, 'default': '', 'req': False, 'public': True, 'tag': 'FNAME', 'helptext': '', 'order': '2', 'size': '25' },{ 'field_type': 'text', 'name': 'Last Name', 'show': True, 'default': '', 'req': False, 'public': True, 'tag': 'LNAME', 'helptext': '', 'order': '3', 'size': '25' } ]
如您所见,这是一个包含3个字典的列表,每个字典包含多个字段,您应该使用这些字段来构建用户界面(因为您正在使用此应用程序,这意味着您正在使用 Django 表单)。
获取它们
您可以使用以下 API 调用来重新创建此列表
list = mailchimp.utils.get_connection().get_list_by_id(<The list's key ID>) print list.merges
使用它们
当您向 Mailchimp 发送 post 请求时,需要传递 merge_vars。例如,在 Mailchimp 网站上使用默认设置创建的新列表中,以下调用将一个成员添加到列表中(比上面的简单示例包含更多信息)
list = mailchimp.utils.get_connection().get_list_by_id(<The list's key ID>) list.subscribe('example@example.com', {'EMAIL': 'example@example.com', 'FNAME': 'Monthy', 'LNAME': 'Pythons'})
注意使用“tag”字段作为字段的关键字(为什么它们没有将其称为“key”或“id”实在令人费解)。
创建视图
我们现在将尝试向上移动堆栈,创建必要的元素以制作可用的 Mailchimp 界面
启动您喜欢的编辑器并打开您的 views.py。输入以下代码片段
from django.http import HttpResponseRedirect from mailchimp import utils MAILCHIMP_LIST_ID = 'spamspamspamspameggsspamspam' # DRY :) REDIRECT_URL_NAME = '/mailing_list_success/' def add_email_to_mailing_list(request): if request.POST['email']: email_address = request.POST['email'] list = utils.get_connection().get_list_by_id(MAILCHIMP_LIST_ID) list.subscribe(email_address, {'EMAIL': email_address}) return HttpResponseRedirect('/mailing_list_success/') else: return HttpResponseRedirect('/mailing_list_failure/')
当然,如果您认为重定向用户不是正确的做法(处理表单可能是个好主意),请随意根据您的需求调整此简单示例 :p
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。