有没有办法向管理员用户显示 Django 调试堆栈跟踪页面,即使设置中 DEBUG=False 也是如此?

2024-03-05

场景:我宁愿非技术同事直接通过电子邮件向我发送错误,而不是通过 SSH 进入盒子来检索堆栈跟踪!

Django 有没有办法或钩子来做这样的事情?例如

def 500_error_happened(request):    # psuedocode >__<
    if request.user.is_staff:
        show_the_debug_stack_trace_page()
    else:
        show_user_friendly_500_html_page()

您可能想看看 Sentry:

https://github.com/getsentry/sentry https://github.com/getsentry/sentry

这样,您可以记录通常在 DEBUG=True 时看到的错误和堆栈跟踪,聚合它们并更深入地研究它们。 Sentry 可以配置为向您发送电子邮件,以便您立即收到通知。

不需要新依赖项的另一个选项是使用AdminEmailHandler:

https://docs.djangoproject.com/en/dev/topics/logging/#django.utils.log.AdminEmailHandler https://docs.djangoproject.com/en/dev/topics/logging/#django.utils.log.AdminEmailHandler

但是,调试可能需要的某些信息可能是敏感信息,不应通过电子邮件发送。这就是为什么上面提到的 Django 文档也推荐使用像 Sentry 这样的东西。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法向管理员用户显示 Django 调试堆栈跟踪页面,即使设置中 DEBUG=False 也是如此? 的相关文章

随机推荐