ビューで未処理の例外が発生した場合、DjangoはデフォルトでHTMLエラーテンプレートを返します。リクエストに「Accept: 'application/json'」ヘッダーがある場合(代わりに通常のHTMLを返す)JSON応答を返すようにしたいと思います。どうすればいい?Django:Acceptヘッダーに応じた条件付き500応答?
4
A
答えて
1
独自の500ビュー機能を指定することができます。この機能では、それに応じて応答を変更する必要があります。 https://docs.djangoproject.com/en/dev/topics/http/urls/#handler500
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')
関連する問題