如何在Django';s针对生产站点的回溯电子邮件
我希望在发生错误时通过电子邮件发送给站点管理员的上下文详细信息中包含request.user的内容,以及回溯和request.GET/POST/COOKIES/META如何在Django';s针对生产站点的回溯电子邮件,django,debugging,production-environment,Django,Debugging,Production Environment,我希望在发生错误时通过电子邮件发送给站点管理员的上下文详细信息中包含request.user的内容,以及回溯和request.GET/POST/COOKIES/META 非常感谢您的帮助。制作一个具有进程异常方法的中间件。 我希望这能给你一些想法 因为process\u异常中间件传递了request对象,所以您可以添加想要请求的任何信息。META class ErrorMiddleware(object): """ Alter HttpRequest objects on Er
非常感谢您的帮助。制作一个具有
进程异常
方法的中间件。
我希望这能给你一些想法 因为process\u异常中间件传递了request对象,所以您可以添加想要请求的任何信息。META
class ErrorMiddleware(object):
"""
Alter HttpRequest objects on Error
"""
def process_exception(self, request, exception):
"""
Add user details.
"""
request.META['USER'] = request.user.username
这非常有帮助,谢谢:)不幸的是,你无法阻止BaseHandler继续处理错误,从而向你发送电子邮件,除非你返回HTTPResponse。。。每一个错误都会收到两封电子邮件真是太糟糕了。文件甚至建议让管理员为空,以停止自动电子邮件,这样你是对的,这是行不通的。好的解决方案!这真是太干净了。加上一个
.username
,因为在最近的Django中,你会得到一个打印不好的惰性对象。
class ErrorMiddleware(object):
"""
Alter HttpRequest objects on Error
"""
def process_exception(self, request, exception):
"""
Add user details.
"""
request.META['USER'] = request.user.username