Django-уведомления и Django-Mailer ... как они работают вместе? - PullRequest
4 голосов
/ 16 октября 2011

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

из документов: http://code.google.com/p/django-mailer/#Sample_Use_Cases

django-mailer не должен управлять фактическими подписками на события.Рассмотрим вариант использования «Новый ответ на ветку доски сообщений».Весь сайт должен отслеживать, какие пользователи подписались на какие потоки, а затем, когда поток обновляется, django-mailer будет предложено отправить одно и то же сообщение этому списку пользователей.Но приложение django-messages должно отслеживать, какие пользователи подписались на какие потоки и аналогичные варианты использования.

Учитывая этот сценарий, я не понимаю последнюю строку.Как вы используете django-уведомление, чтобы отслеживать, какие пользователи подписаны на какие темы?
API для django-уведомления
https://github.com/jtauber/django-notification/blob/master/docs/usage.txt

делает так, что вы можете использовать django-уведомление
- определить типы уведомлений
- выполнить такие действия, как send_now, queue и send

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

Может кто-нибудь помочь мне лучше понять это?

1 Ответ

2 голосов
/ 22 декабря 2011

Уведомление Django направлено на то, чтобы позволить пользователям определять, как они уведомляются о различных типах «событий».Например, когда новый пользователь присоединяется к сайту, приложение «регистрация» может генерировать уведомление и отправлять всем пользователям сайта.Затем в зависимости от настроек уведомлений каждого пользователя (какие пользователи могут изменять) система уведомлений будет выбирать, как доставить это уведомление конкретному пользователю.Он может быть доставлен по электронной почте, смс (требуется расширение системы уведомлений) или просто на самом сайте.Как правило, при запуске syncdb различные приложения (например, приложение регистрации) создают уникальные типы уведомлений, которые они будут использовать.Например, регистрация может иметь типы уведомлений «новый пользователь» и «деактивация пользователя».Затем пользователь на своей странице настроек уведомлений может указать, хотят ли они получать уведомления такого типа по электронной почте (или, возможно, с помощью смс).

Django-Mailer - это просто система доставки электронной почты.Может использоваться любым приложением.Приложение django-уведомлений может использовать его для отправки электронных писем, или приложение «регистрация» может использовать его для отправки подтверждающего электронного письма (которое не будет проходить через систему уведомлений).

На мой взгляд, если бы у вас было приложение для форума, оно отслеживало бы, какие пользователи подписаны на какие форумы, и соответственно генерировало бы уведомления.Приложение для комментариев.будет отслеживать, какие пользователи прокомментировали какие элементы и генерировать уведомления для пользователей соответственно.Итак, чтобы повторить.«Отдельные» приложения генерируют уведомления.Приложение уведомлений рассылает уведомления в зависимости от индивидуальных настроек.Почта обрабатывает отправку электронной почты (которая может или не может быть сгенерирована приложением уведомлений).

...