2012-02-13 9 views
4

ビューで未処理の例外が発生した場合、DjangoはデフォルトでHTMLエラーテンプレートを返します。リクエストに「Accept: 'application/json'」ヘッダーがある場合(代わりに通常のHTMLを返す)JSON応答を返すようにしたいと思います。どうすればいい?Django:Acceptヘッダーに応じた条件付き500応答?

答えて

2
はurls.pyであなたのhandler500ハンドラを変更し

参照してください:

handler500 = 'application_name.views.error_500' 

はビュー機能を定義します。

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