只要我没有自定义错误处理程序,我的 Django 应用程序就会正确地向所有管理员发送电子邮件。
但是,当我添加handler500来显示我的自定义 500_error.html 页面时,没有发送电子邮件。500_error.html 页面显示正确。似乎当您有处理程序时,Django 会假定您处理了错误,因此不会发送任何邮件。(这有道理吗?)
我的问题是:
好的,问题是 handler500 调用的函数需要返回 500 状态代码,以便 Django 能够 sed 电子邮件。
设置此处理程序会将电子邮件发送给管理员并显示自定义模板:
def handler500(request): t = loader.get_template('500_error.html') response = HttpResponseServerError(t.render()) response.status_code = 500 return response