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