18 django newsletter
是否有django的新闻通讯应用程序,允许用户订阅 - 取消订阅时事通讯?我想要一个易于使用并通过Django管理员管理的应用程序.
小智 9
你可能想看看我的应用程序,简称为django-newsletter.它允许管理多个新闻简报,用户订阅(他们不必提供他们的电子邮件地址或确认任何内容,并使用数据库中的模板来获取消息(支持文本和HTML).该应用程序目前正在生产中使用并且在大约一周内安排0.1版本.
对于大量提交,我建议像Postmark这样的东西,也可以和Django一起使用.(一旦我从使用Django的旧(SMTP)邮件API转移到新的后端不可知的邮件API,这可以很容易地与新闻通讯应用程序一起使用.
但可以肯定的是,如果只需要简单的订阅管理,你就可以使用'github.com slash howiworkdaily slash'django-newsletter来做到这一点.(是的,我们是第一个使用该名称.:P对于URL抱歉 - 但显然stackoverflow使用某种荒谬的垃圾邮件防御机制.)
也许,也许不是.如果应用程序在新闻稿(无论是想象的)和订阅者(用户或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" ]
Run Code Online (Sandbox Code Playgroud)
你的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}),
)
Run Code Online (Sandbox Code Playgroud)
这足以让你去吗?
归档时间: |
|
查看次数: |
9535 次 |
最近记录: |