【发布时间】:2012-06-23 03:38:31
【问题描述】:
是否有人对让中间件捕获异常的最佳方式有意见,而不是将错误呈现到 HTML 模板中,而是返回 JSON 对象?目前我有下面的中间件来捕获异常,如果它可以找到额外的用户错误消息,则将其放在请求中(然后模板会选择)。
类 ExceptionUserErrorMessageMiddleware(对象): def process_exception(自我,请求,异常): """ 如果异常有与用户相关的信息,那么 将其附加到请求对象上""" theFormat = djrequest.get_getvar(request, settings.FORMAT_PARAM, "") msg = getMessage(异常) 如果味精: setattr(请求,USER_ERROR_MESSAGE_ATTR,味精) 如果格式 == “json”: 打印“做某事”在这里返回 json 对象的最佳方式是什么?我应该设置任何额外的标题吗?
对于不通过中间件的特殊情况,有没有办法做同样的事情(我很确定 404 没有,还有其他方法吗)?
【问题讨论】:
标签: django json exception-handling