我正在 Django 中编写一些返回 json 的方法。我自己处理异常,在某些情况下,我想返回一个带有 Json 主体的 Http 500 响应,以便客户端可以提取(除其他外)异常 uuid。
这可以正常工作,Debug = True
但是当设置为 时False
,以下代码会导致html错误页面...
Ret = {"ExceptionId:": "<Exception_uuid>",
"Message": "Some user-friendly error message"}
return HttpResponse(json.dumps(Ret), content_type="application/json", status=INTERNAL_SERVER_ERROR)
我知道安全隐患,这就是为什么此处返回的消息与异常无关,而是在引发异常时由我们自己的代码生成(或在某些情况下提供的通用异常)。uuid 与堆栈跟踪、真正的异常信息等一起记录(最好记录到数据库,但如果不可能,则记录到文件)。用户可以在联系我们时通过 uuid 引用异常。
如何强制 django不尝试干扰我不想要或不需要的模糊 html 页面?