该代码表示django-postman
读取一个settings.py
名为 的设置(从您的文件中)POSTMAN_DISABLE_USER_EMAILING
,如果未设置任何值,则默认为False
.
文档说:
POSTMAN_DISABLE_USER_EMAILING
如果您不希望向用户发送基本电子邮件通知,请将其设置为 True。此设置不适用于访问者(请参阅 POSTMAN_DISALLOW_ANONYMOUS),也不适用于通知应用程序(请参阅 POSTMAN_NOTIFIER_APP)
默认为:假。
但是,这会在整个系统中打开和关闭电子邮件。要根据您的要求在每个用户的基础上禁用用户电子邮件,此代码postman/utils.py
指向一个答案:
if notification:
# the context key 'message' is already used in django-notification/models.py/send_now() (v0.2.0)
notification.send(users=[user], label=label, extra_context={'pm_message': object, 'pm_action': action})
else:
if not DISABLE_USER_EMAILING and user.email and user.is_active:
email('postman/email_user_subject.txt', 'postman/email_user.txt', [user.email], object, action)
因此,为每个用户发送电子邮件的一种巧妙方法是向您的 User 对象添加一个字段(或函数),然后在postman\utils.py
.
更好的方法是使用 django-postman 对通知框架(如django-notification)的内置支持,它允许您基于每个用户自定义消息传递(包括电子邮件)。