2012-02-13 34 views
4

当视图中发生未处理的异常时,Django默认返回HTML错误模板。如果请求有一个“Accept:'application/json'”标题(但返回通常的HTML),我想返回一个JSON响应。我该怎么做?Django:取决于Accept头的条件500响应?

回答

2

更改handler500处理程序urls.py:

handler500 = 'application_name.views.error_500' 

定义视图功能:

def error_500(request): 
    # check request header 
    return HttpResponse(json.dumps(retval), mimetype='application/json')