django-mailer приложение, о котором я не знал до сих пор, поэтому нижеприведенный ответ описывает мой собственный подход.
Самого простой случай не потребует много:
положить это в ваш app/management/commands/send_email_alerts.py
, а затем настроить хроны, чтобы запустить эту команду один раз в неделе с python manage.py send_email_alerts
(все пути должны быть установлены в среде, конечно, для manage.py, чтобы забрать ваши настройки приложения)
from django.core.management.base import NoArgsCommand
from django.db import connection
from django.core.mail import EmailMessage
class Command(NoArgsCommand):
def handle_noargs(self,**options):
try:
self.send_email_alerts()
except Exception, e:
print e
finally:
connection.close()
def send_email_alerts(self):
for user in User.objects.all():
text = 'Hi %s, here the news' % user.username
subject = 'some subject'
msg = EmailMessage(subject, text, settings.DEFAULT_FROM_EMAIL, [user.email])
msg.send()
Но если вам нужно будет следить за то, что по электронной почте каждому пользователю и как часто, некоторые из дополнительного кода будет необходимо. Вот доморощенный example. Возможно, именно там django-mailer может заполнить пробелы.
принадлежит к суперпользователю? – falstro
Почему, Django не является уровнем пользовательского уровня. Это код. –
Да, я просто думаю, может быть, это использование кода, а не его изменение. Просто спрашиваю. – falstro