有没有django的时事通讯应用,允许用户订阅-取消订阅时事通讯?我想有一个易于使用的应用程序,并通过Django管理管理。
发布于 2009-08-12 19:15:46
可能会,也可能不会。拥有一个在新闻通讯(不管怎么想象)和订阅者( User或firstName/lastName/emailAddress/password)之间具有多对多关联的应用程序并不是太难。
你的模型应该是这样的:
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}),
)
这足够让你上路了吗?
发布于 2009-12-27 05:09:45
发布于 2010-09-21 03:11:20
你可能想看看我的应用程序,简称为django-newsletter。它允许管理多个时事通讯,用户订阅(他们不需要提供他们的电子邮件地址或确认任何东西,并使用数据库中的消息模板(支持文本和HTML)。该应用程序目前正在生产使用中,0.1版本计划在大约一周内发布。
对于大量的提交,我会建议像Postmark这样的东西,它也可以与Django一起使用。(一旦我从使用Django的旧(SMTP)邮件API转移到新的后端不可知的API,这就可以很容易地与时事通讯应用程序一起使用。
但是可以肯定的是,如果你只需要简单的订阅管理,你可以使用'github.com slash howiworkdaily slash‘django-时事通讯就可以做到这一点。(是的,我们是第一个使用这个名字的。:P对于URL很抱歉-但显然stackoverflow使用了某种可笑的垃圾邮件预防机制。)
https://stackoverflow.com/questions/1267930
复制相似问题