Я новичок в django rest_framework, и попытался создать персонализированный ответ на ошибки в django!.
Исключения Django Rest Framework
После этого всекажется довольно простым, но ошибка импорта возрастает, когда я пытаюсь добавить пользовательское исключение.
Settings.py
REST_FRAMEWORK = {
'EXCEPTION_HANDLER': 'project.restapi.utils.custom_exception_handler'
}
Значение исключения ImportError:
Можетне импортировать «project.restapi.utils.custom_exception_handler» для настройки API «EXCEPTION_HANDLER».AttributeError: модуль 'project.restapi.utils' не имеет атрибута 'custom_exception_handler'
custom_exception_handler.py
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
model.py
class Users(viewsets.ModelViewSet):
queryset = User.objects.all()
serializer_class = UserSerializer
def retrieve(self, request, *args, **kwargs):
# call the original 'list' to get the original response
response = super(Users, self).retrieve(request, *args, **kwargs)
response.data = {"collection": {"data": response.data},"statusCode":response.status_code,"version":"1.0"}
# customize the response data
if response is not None:
return response
else:
# return response with this custom representation
response.data = {"collection": {"data": response.data},"statusCode":response.status_code,"version":"1.0","error":response.exception}
return response
Итакна вышеупомянутой модели работает нормально, за исключением случаев, когда я пытаюсь ударить пользователя, которого нет в базе данных, должно появиться сообщение об ошибке - не найдено, поэтому я попытался настроить не найденное так, чтобы оно имело смысл для меня.вот и все
Я пытался разобраться, но сложно это сделать !!,
Django Версия: 2.1.5 Python - 3.7.0