Я предполагаю, что вы перепутали текст при переводе примера DRF в ваш код. Состояние документов:
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:
response.data['status_code'] = response.status_code
return response
Затем он скажет вам добавить его в ваши настройки как:
REST_FRAMEWORK = {
'EXCEPTION_HANDLER': 'my_project.my_app.utils.custom_exception_handler'
}
Имейте в виду, что приведенный выше пример имеет следующую структуру папок:
my_project> my_app> utils> custom_exception_handler
Что означает:
my_project_FOLDER> my_app_FOLDER> utils.PY> NAME_OF_DEFINED_FUNCTION_THAT_HANDLES_EXCEPTIONS
Вот как я думаю, вы могли запутаться. Таким образом, у вас есть Custom404ErrorMessage.py
внутри utils_FOLDER и вы пытаетесь импортировать его вместо самой определенной функции. Если, конечно, Custom404ErrorMessage.py
- это класс, но я сомневаюсь в этом, поскольку вы, похоже, следовали связанному примеру DRF, в котором используется функция.
Я предполагаю, что ваш Custom404ErrorMessage.py имеет следующее:
from rest_framework.views import exception_handler
def custom_exception_handler(exc, context):
....
Так что для вашей настройки ваш settings.py будет выглядеть так:
REST_FRAMEWORK = {
'EXCEPTION_HANDLER': 'backend.connectivity_service.utils.Custom404ErrorMessage.custom_exception_handler'
}
Видите, как последняя часть является определенной функцией? Надеюсь, это поможет!