ミドルウェアに例外をキャッチさせ、エラーをHTMLテンプレートにレンダリングする代わりに、JSONオブジェクトを返すための最良の方法について誰かが意見を持っていますか?現在、例外をキャッチするミドルウェアが以下にあり、追加のユーザーエラーメッセージが見つかった場合は、それをリクエストに追加します(テンプレートがそれを取得します)。
クラスExceptionUserErrorMessageMiddleware(object): def process_exception(self、request、exception): "" "例外にユーザーに関連する情報がある場合は、 それをリクエストオブジェクトにタックします"" " theFormat = djrequest.get_getvar(request、settings.FORMAT_PARAM、 "") msg = getMessage(例外) msgの場合: setattr(request、USER_ERROR_MESSAGE_ATTR、msg) theFormat == "json"の場合: 「何かをする」を印刷する
ここでjsonオブジェクトを返す最良の方法は何ですか?追加のヘッダーを設定する必要がありますか?
ミドルウェアを通過しない例外的な状況で同じことを行う方法はありますか(404は通過しないと確信していますが、他にありますか)?