Django:如何使用 handler500 重定向到前端服务器页面并接收管理错误电子邮件

Posted

技术标签:

【中文标题】Django:如何使用 handler500 重定向到前端服务器页面并接收管理错误电子邮件【英文标题】:Django: How to use handler500 to redirect to a frontend server page and also receive admin error email 【发布时间】:2021-12-30 13:26:50 【问题描述】:

我的问题与this one 非常相似,只是我的问题是我的前端页面位于另一台服务器上,即一个 Angular 应用程序。

基本上,当用户遇到 500 错误时,我需要向我的 Angular 前端发送重定向响应,但还希望接收带有堆栈跟踪的管理员电子邮件。这只发生在响应为 500 而不是 handler500 重定向返回的 302 时。

【问题讨论】:

【参考方案1】:

您基本上可以发送一封电子邮件,然后将用户重定向到该 URL

from django.shortcuts import redirect
def send_mail():
   ...

def handler500(request):
    send_mail_function()
    return redirect("http://external-site.com/")

您可以按照本教程进行电子邮件发送。

【讨论】:

抱歉回复晚了。这封电子邮件就是我的观点。我没有办法生成带有堆栈跟踪的黄色异常电子邮件以及 Django 在 500 发生时生成的所有内容,从某种意义上说,该 send_mail_function() 的内容是什么?或其他一些方法。

以上是关于Django:如何使用 handler500 重定向到前端服务器页面并接收管理错误电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

django自定义错误响应

Django 404500页面全局配置

如何使用自定义 django 404 错误视图重定向?

在 IIS 和 ngrok 上部署 Django

如何解决“HTTP错误500.19 - 内部服务器错误”“ ”

如何调试 DJango 测试服务器提供的错误 500?