首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Django新闻通讯应用

Django新闻通讯应用
EN

Stack Overflow用户
提问于 2009-08-12 18:35:22
回答 5查看 10.6K关注 0票数 19

有没有django的时事通讯应用,允许用户订阅-取消订阅时事通讯?我想有一个易于使用的应用程序,并通过Django管理管理。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-08-12 19:15:46

可能会,也可能不会。拥有一个在新闻通讯(不管怎么想象)和订阅者( User或firstName/lastName/emailAddress/password)之间具有多对多关联的应用程序并不是太难。

你的模型应该是这样的:

代码语言:javascript
复制
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应该是这样的:

代码语言:javascript
复制
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}),
)

这足够让你上路了吗?

票数 7
EN

Stack Overflow用户

发布于 2009-12-27 05:09:45

票数 14
EN

Stack Overflow用户

发布于 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使用了某种可笑的垃圾邮件预防机制。)

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1267930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档