我正在为错误页面开发自己的模板,但是handler500
没有获得异常参数,我也不知道错误的原因是什么
我该怎么做?我的自定义模板已在工作,但我需要有关异常原因的信息。我的handler500
:
def error_500(request):
template_name = "error_500.html"
error_code = "500"
url = request.build_absolute_uri()
username = request.user.username
useruuid = request.user.uuid
date = datetime.datetime.now()
errorObject = Errors(
error_code=error_code, url=url,
username=username, useruuid=useruuid,
date=date
)
errorObject.save()
errorUUID = errorObject.uuid
context = {
"errorUUID": errorUUID
}
return render(request, template_name, context)
您可以使用sys.exc_info()
从Python文档:
此函数返回三个值的元组,这些值提供有关当前正在处理的异常的信息。返回的信息特定于当前线程和当前堆栈帧。如果当前堆栈帧未处理异常,则从调用堆栈帧或其调用方获取信息,依此类推,直到找到处理异常的堆栈帧。在这里,“处理异常”定义为“执行except子句”。对于任何堆栈帧,只能访问有关当前正在处理的异常的信息
如果堆栈上的任何位置都没有处理异常,则返回一个包含三个None值的元组。否则,返回的值为(
type, value, traceback
)相关问题 更多 >
编程相关推荐