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
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。