当服务器上发生500错误时,django会自动向所有管理员发送电子邮件。这是一个很棒的功能,但是如果有些管理员想要选择退出呢?管理员是否可以选择他们是否希望django在发生错误时通过电子邮件发送给他们?无论如何,服务器正在记录所有错误,并且当他们登录到站点时,数据可供所有管理员修改。
答案 0 :(得分:1)
在Django 1.8中,可以覆盖发生错误时收到电子邮件的人。它也可能在早期的Django版本中,但代码将更加丑陋。
Django使用Python的日志记录框架发送错误电子邮件,这可以自定义(see documentation)。特别是处理程序具有以下方法:
send_mail(subject, message, *args, **kwargs):
向管理员用户发送电子邮件。要自定义此行为,您可以继承AdminEmailHandler类并覆盖此方法。
这会调用django.core.mail.mail_admins
,默认情况下会向settings.ADMINS
中的所有条目发送电子邮件。您需要使用django.core.mail.send_mail
来自定义您要发送电子邮件的人(即,请settings.ADMINS
,应用过滤并根据需要自行调用send_maiL
收件人列表。