是否有django的新闻通讯应用程序,允许用户订阅 - 取消订阅时事通讯?我希望有一个易于使用的应用程序,并通过Django管理员进行管理。
答案 0 :(得分:14)
答案 1 :(得分:9)
您可能需要查看我的应用,只需调用django-newsletter即可。它允许管理多个新闻简报,用户订阅(他们不必提供他们的电子邮件地址或确认任何内容,并使用数据库中的模板来获取消息(支持文本和HTML)。该应用程序目前正在生产中使用并且在大约一周内安排0.1版本。
对于大量提交,我建议像Postmark这样的东西,也可以和Django一起使用。 (一旦我从使用Django的旧(SMTP)邮件API转移到新的后端不可知的邮件API,这可以很容易地与新闻通讯应用程序一起使用。
但可以肯定的是,如果只需要简单的订阅管理,你就可以使用'github.com slash howiworkdaily slash'django-newsletter来做到这一点。 (是的,我们是第一个使用该名称的。:P对于URL很抱歉 - 但显然stackoverflow使用某种荒谬的垃圾邮件防御机制。)
答案 2 :(得分:6)
也许,也许不是。如果应用程序在新闻稿(无论是想象中的)和订阅者(用户或firstName / lastName / emailAddress /密码上的外键)之间存在多对多关联,那就太难了。
你的模型会是这样的:
from django.db import models
from django.contrib.auth.models import User
class Subscriber(models.Model):
user = models.ForeignKey(User)
email = models.EmailField()
def __unicode__(self):
return "User %s" % (self.user.username, )
@models.permalink
def get_absolute_url(self):
return ('subscriber', None, {'object_id' : self.id})
class Meta:
ordering = [ "id" ]
class Newsletter(models.Model):
name = models.CharField(max_length=80)
subscribers = models.ManyToManyField('Subscriber')
# .... Other stuff
def __unicode__(self):
return "Newsletter %s" % (self.name, )
@models.permalink
def get_absolute_url(self):
return ('newsletter', None, {'object_id' : self.id})
class Meta:
ordering = [ "id" ]
你的urls.py会是这样的:
from django.conf.urls.defaults import *
from django.views.generic.simple import direct_to_template
urlpatterns = patterns('',
url(r'^subscriber/(?P<object_id>\d+)/$', views.subscriberview, name='subscriber_view'),
url(r'^newsletter/(?P<object_id>\d+)/$'', views.newsletterview,name='newsletter_view'),
url(r'^site_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': MEDIA_ROOT}),
)
这足以让你前进吗?
答案 3 :(得分:2)
如果您想看看http://www.emencia.fr/fr/solutions/newsletter/emencia-django-newsletter
,我已发布了Emencia Django时事通讯的截屏演示它当然是github上提供的开源资源
我们还需要对transifex的翻译做出贡献
答案 4 :(得分:1)
我决定创建自己的解决方案来组合文本和处理订阅,但我想我会使用django-mailer来跟踪发送的内容以及它是如何结束的。
答案 5 :(得分:0)
DjangoList是一个django应用程序 允许进行群发邮件和管理 用户可以使用的新闻通讯 订阅/退订。 DjangoList是 目前正在开发中,而不是 随时可以使用。