【发布时间】:2013-04-16 12:14:35
【问题描述】:
我正在 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 页面?
【问题讨论】: