如何将登录用户附加到Django异常错误消息?
当我从Django站点收到错误异常电子邮件时,查看当前登录用户的用户和/或用户配置文件信息将非常有用。如何将此添加到Django站点异常错误电子邮件中?Django在电子邮件末尾附加repr(请求)。使用默认的wsgi开发服务器,您可以找到作为 “LOGNAME”:“myuser” 这可能会隐藏在某些电子邮件客户端中,因为它用尖括号括起来如何将登录用户附加到Django异常错误消息?,django,Django,当我从Django站点收到错误异常电子邮件时,查看当前登录用户的用户和/或用户配置文件信息将非常有用。如何将此添加到Django站点异常错误电子邮件中?Django在电子邮件末尾附加repr(请求)。使用默认的wsgi开发服务器,您可以找到作为 “LOGNAME”:“myuser” 这可能会隐藏在某些电子邮件客户端中,因为它用尖括号括起来 <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {}>, ... 'LOG
<WSGIRequest
GET:<QueryDict: {}>,
POST:<QueryDict: {}>,
...
'LOGNAME': 'myuser',
...
wsgi.run_once': False,
'wsgi.url_scheme': 'http',
'wsgi.version': (1, 0)}>
@jsamsa的答案似乎不再正确,因为Django中发生了变化(至少我在错误电子邮件中没有“LOGNAME”字段)
我发布了一个替代方案,通过电子邮件接收完整的django html错误页面。详情如下:
这很有帮助地指出,您可以这样做:
LOGGING['handlers']['mail_admins']['include_html'] = True
从Django版本1.10开始,本机支持此功能:请参阅
已将request.user添加到调试视图
+1对于中间件的建议。。。事实上,我们非常成功地使用了这种方法。这种方法至少在Django 1.9中不再有效(旧版本也可能受到影响)。使用include\u html
确实可以收到相当多的html电子邮件,但是我在哪里可以找到导致错误的用户的用户名?至少我找不到它<代码>日志名
不是我收到的邮件的一部分。另外,我确信用户已经登录,因为只有登录的用户才能看到出现错误的页面。