Подтвердить что ты не робот

Приложение для рассылки Django

Есть ли какое-нибудь приложение для рассылки новостей для django, позволяющее пользователям подписаться - отказаться от подписки на информационные бюллетени? Я хотел бы иметь приложение, которое легко использовать и администрировать с помощью администратора Django.

4b9b3361

Ответ 1

Может быть, может и нет. Не было бы слишком сложно иметь приложение, которое имеет ассоциацию "много-ко-многим" между Информационным бюллетенем (как бы то ни было) и подписчиком (внешний ключ для пользователя или 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}),
)

Достаточно ли этого для вас?

Ответ 3

Возможно, вы захотите посмотреть мое приложение, просто называемое django-newsletter. Он позволяет администрировать несколько информационных бюллетеней, подписчиков пользователей (им не нужно указывать свой адрес электронной почты или ничего подтвердить, а также использовать шаблоны из базы данных для сообщений (с поддержкой как текста, так и HTML). В настоящее время приложение используется в производстве и релиз 0.1 запланирован в течение приблизительно недели.

Для представления больших количеств я бы предложил что-то вроде Postmark, которое также можно использовать с Django. (Это можно было бы легко использовать с приложением для рассылки новостей, как только я перешел от использования почтового API Django (SMTP) к новому бэкэндовому агностику.

Но, конечно, если простое управление подпиской - это все, что вам нужно, вы можете просто использовать "github.com slash howiworkdaily slash" django-newsletter, который делает именно это. (И да, мы сначала использовали это имя.: P Извините за URL-адрес, но, очевидно, stackoverflow использует какой-то смешной механизм предотвращения спама.)

Ответ 4

Я опубликовал демонстрационную версию Emencia Django Newsletter, если вы хотите посмотреть http://www.emencia.fr/fr/solutions/newsletter/emencia-django-newsletter

Конечно, с открытым исходным кодом доступно на github

Нам нужен вклад в перевод также на transifex

Ответ 5

Я решил создать собственное решение для сборки текста и обработки подписки, но я думаю, что я буду использовать django-mailer следить за тем, что было отправлено и как оно закончилось.

Ответ 6

Попробуйте djangolist

DjangoList - это приложение django, которое будет разрешить массовые рассылки и управлять информационный бюллетень, из которого пользователи могут подписаться/отказаться от подписки. DjangoList - в настоящее время разрабатывается и не готов к использованию.