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