2009-08-12 11 views
18

Existe-t-il une application de newsletter pour django, permettant aux utilisateurs de s'inscrire - se désinscrire des newsletters? J'aimerais avoir une application facile à utiliser et administrée via l'administrateur Django.Django Newsletter App

Répondre

6

Peut-être, peut-être pas. Il ne serait pas trop difficile d'avoir une application qui a une association plusieurs-à-plusieurs entre un bulletin (mais imaginez) et un abonné (clé étrangère sur l'utilisateur ou prénom/nom/adresse email/mot de passe).

Vos modèles seraient quelque chose comme ceci:

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" ] 

Votre urls.py serait quelque chose comme ceci:

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}), 
) 

Est-ce assez pour vous aider à aller?

+0

doux ... cela semble assez bon pour commencer moi. Merci –

0

Essayez djangolist

DjangoList est une application qui django permettra de faire des envois de masse et de gérer bulletin d'information à partir de laquelle les utilisateurs peuvent abonnement/désabonnement. DjangoList est en cours de développement et n'est pas prêt à l'emploi.

+0

Malheureusement, le lien djangolist est maintenant cassé. –

+0

Comme l'indique http://www.ohloh.net/p/djangolist, cela semble un projet mort/manquant. – glarrain

1

J'ai décidé de créer ma propre solution pour l'assemblage du texte et la manipulation des abonnements, mais je pense que je vais utiliser django-mailer de garder une trace de qu'est-ce qui a été envoyé et comment cela s'est-il terminé?

8

Vous voudrez peut-être jeter un oeil à mon application, simplement appelée django-newsletter. Il permet l'administration de plusieurs bulletins d'information, abonnements utilisateur (ils n'ont pas besoin de donner leur adresse e-mail ou de confirmer quoi que ce soit et utilise des modèles de la base de données pour les messages (avec support HTML et HTML). et une version 0.1 est prévue dans une semaine environ

Pour la soumission de grandes quantités, je suggère quelque chose comme Postmark, qui peut également être utilisé avec Django (cela pourrait être facilement utilisé avec l'application newsletter, dès que Je suis passé de l'ancienne API de courrier de Django (SMTP) à celle de backend agnostique

Mais sûrement, si une simple gestion des abonnements est tout ce dont vous avez besoin, vous pouvez simplement utiliser 'github.com slash howiworkdaily slash' django-newsletter qui fait juste cela (Et oui, nous étaient les premiers à utiliser ce nom. : P Désolé sur l'URL - mais apparemment utilise stackoverflow une sorte de mécanisme de prévention du spam ridicule)

+1

Lorsque j'ai un grand nombre d'abonnements, je ne peux pas ouvrir l'écran de soumission d'ajout dans admin. –

+0

Est-ce que la licence AGPL exige que vous publiiez la source de votre site Django entier si vous intégrez ce projet? –

Questions connexes