2012-02-13 38 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')