@albertalexandrov

Как переопределить handler500?

Всем привет!)

Прошу подсказать, как и где переопределить дефолтный handler500 на drf-овский rest_framework.exceptions.APIException?
  • Вопрос задан
  • 585 просмотров
Решения вопроса 1
@antonksa
https://www.django-rest-framework.org/api-guide/ex...

#  my_project/my_app/utils.py

from rest_framework.exceptions import APIException
from rest_framework.views import exception_handler

def custom_exception_handler(exc, context):
    # Call REST framework's default exception handler first,
    # to get the standard error response.
    response = exception_handler(exc, context)

    # Now add the HTTP status code to the response.
    if response is not None:
        if response.status_code == 500:
            #  My custom 500 error handler.
            pass
    return response


#  settings.py

REST_FRAMEWORK = {
    'EXCEPTION_HANDLER': 'my_project.my_app.utils.custom_exception_handler'
}


ЗЫ. аймсорри, неправильно понял вопрос. Вообще-то если у вас DRF обрабатывает урл, то там по умолчанию и DRF обрабатывает 500, если у вас не так, то вы что-то не так делаете.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы