Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将登录用户附加到Django异常错误消息?_Django - Fatal编程技术网

如何将登录用户附加到Django异常错误消息?

如何将登录用户附加到Django异常错误消息?,django,Django,当我从Django站点收到错误异常电子邮件时,查看当前登录用户的用户和/或用户配置文件信息将非常有用。如何将此添加到Django站点异常错误电子邮件中?Django在电子邮件末尾附加repr(请求)。使用默认的wsgi开发服务器,您可以找到作为 “LOGNAME”:“myuser” 这可能会隐藏在某些电子邮件客户端中,因为它用尖括号括起来 <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDict: {}>, ... 'LOG

当我从Django站点收到错误异常电子邮件时,查看当前登录用户的用户和/或用户配置文件信息将非常有用。如何将此添加到Django站点异常错误电子邮件中?

Django在电子邮件末尾附加repr(请求)。使用默认的wsgi开发服务器,您可以找到作为

“LOGNAME”:“myuser”

这可能会隐藏在某些电子邮件客户端中,因为它用尖括号括起来

<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电子邮件,但是我在哪里可以找到导致错误的用户的用户名?至少我找不到它<代码>日志名
不是我收到的邮件的一部分。另外,我确信用户已经登录,因为只有登录的用户才能看到出现错误的页面。