【发布时间】:2011-12-21 07:17:16
【问题描述】:
Django documentation 说:
当 DEBUG 为 False 时,Django 将通过电子邮件发送给 ADMINS 中列出的用户 每当您的代码引发未处理的异常和结果时设置 出现内部服务器错误(HTTP 状态代码 500)。
但这是否包括 django 管理站点?如果没有,我该如何启用此类报告?
我问这个是因为当我在 ModelAdmin 子类中故意提出Exception 时,我没有收到任何电子邮件。
另一方面,我尝试手动发送,效果很好。
$ ./manage.py shell
>>> from django.core.mail import EmailMessage
>>> email = EmailMessage('Hello', 'World', to=['email@example.com'])
>>> email.send()
更新: 当应用程序的 API 部分(由活塞驱动)出现异常时,Django 也会发送崩溃报告。
非常感谢任何帮助。
【问题讨论】:
-
没有完全回答您的问题,但请查看 django-sentry (readthedocs.org/docs/sentry/en/latest/index.html)。它来自 Disqus 背后的团队,已经成为我绝对不可缺少的调试工具。
-
您可以尝试在您的应用程序(不是管理员应用程序)中引发异常吗?你能收到这样的邮件吗?
-
@ChrisPratt django-sentry 最终可能是一个选择。但在我看来,这似乎是矫枉过正。无论如何感谢您的评论。
-
@JakubGocławski 是的,我可以收到这样的电子邮件。刚刚测试过了。
-
你能告诉我们你用来在
ModelAdmin子类中引发异常的代码吗?
标签: django django-admin django-email django-errors