当服务器上发生 500 错误时,django 会自动向所有管理员发送电子邮件。这是一个很棒的功能,但是如果某些管理员想要退出怎么办?管理员是否可以选择是否希望 django 在发生错误时向他们发送电子邮件?无论如何,服务器都会记录所有错误,并且当所有管理员登录到站点时,他们都可以修改数据。
问问题
125 次
1 回答
1
在 Django 1.8 中,将有能力在发生错误时覆盖谁接收电子邮件。在早期的 Django 版本中也是可能的,但代码会更难看。
Django 使用 Python 的日志框架发送错误电子邮件,并且可以自定义(参见文档)。特别是处理程序具有以下方法:
send_mail(subject, message, *args, **kwargs):
向管理员用户发送电子邮件。要自定义此行为,您可以继承 AdminEmailHandler 类并覆盖此方法。
这调用django.core.mail.mail_admins
默认情况下会向settings.ADMINS
. 相反,您需要使用django.core.mail.send_mail
来自定义您希望向谁发送电子邮件(即,使用settings.ADMINS
,应用过滤并send_maiL
根据需要使用收件人列表呼叫您自己)。
于 2014-12-11T19:48:46.010 回答