django-notification 和 django-mailer ......他们如何一起工作?

Posted

技术标签:

【中文标题】django-notification 和 django-mailer ......他们如何一起工作?【英文标题】:django-notification & django-mailer... how do they work together? 【发布时间】:2011-12-08 13:45:30 【问题描述】:

我正在考虑在我的应用中实现一些电子邮件通知。 Django-notification 或 Django-mailer 看起来都很合适。 我正在阅读文档并试图弄清楚它们是如何协同工作的。

来自文档: http://code.google.com/p/django-mailer/#Sample_Use_Cases

django-mailer 不应该管理对事件的实际订阅。考虑“对留言板线程的新回复”用例。整个站点需要跟踪哪些用户订阅了哪些线程,然后当线程更新时,django-mailer 将被要求向该用户列表发送相同的消息。但是 django-notification 应用应该跟踪哪些用户订阅了哪些线程和类似的用例。

鉴于这种情况,我不明白最后一行。您如何使用 django-notification 来跟踪哪些用户订阅了哪些线程? django-notification 的 apihttps://github.com/jtauber/django-notification/blob/master/docs/usage.txt

看起来你可以使用 django-notification 来 - 定义通知类型 - 执行 send_now、排队和发送等操作

但这里没有任何内容表明我将如何在所描述的用例中订阅用户。 其次,在所描述的场景中,django mailer 是如何知道要发送什么的?它会重用通知应用程序中的定义吗?看起来邮件程序和通知都实现了“发送”功能....

谁能帮助我更好地理解这一点?

【问题讨论】:

【参考方案1】:

Django 通知旨在允许用户确定如何通知他们不同类型的“事件”。例如,当新用户加入站点时,“注册”应用程序可以生成通知并将其发送给站点的所有用户。然后根据每个用户的通知设置(哪些用户可以更改),通知系统将选择如何将该通知传递给特定用户。它可以通过电子邮件、短信(需要扩展通知系统)或仅在网站本身上发送。通常,当运行 syncdb 时,各种应用程序(如注册应用程序)会创建它们将使用的唯一通知类型。例如,注册可以同时具有“新用户”和“用户停用”两种通知类型。然后用户在他们的通知设置页面上可以设置他们是否想通过电子邮件(或者可能是短信)接收那种类型的通知。

django-mailer 只是一个发送电子邮件的系统。它可以被任何应用程序使用。 django-notification 应用程序可以使用它来发送电子邮件,或者“注册”应用程序可以使用它来发送确认电子邮件(不会通过通知系统)。

在我看来,如果您有一个论坛应用程序,它会跟踪哪些用户订阅了哪些论坛,并会相应地生成通知。一个评论应用。将跟踪哪些用户评论了哪些项目并相应地向用户生成通知。所以要重申。 “个人”应用程序会生成通知。通知应用程序根据个人设置发送通知。邮件程序处理电子邮件的发送(可能会或可能不会由通知应用程序生成)。

【讨论】:

以上是关于django-notification 和 django-mailer ......他们如何一起工作?的主要内容,如果未能解决你的问题,请参考以下文章

django-notification emit_notices 额外的 sql 查询?

{Django基础八之cookie和session}一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 dja

使用 pip 安装特定的 git commit

Django介绍

Django 框架简介

Django的使用