Skip to main content

The Django REST Framework Exception Handler is a Python package designed to streamline exception handling within Django REST Framework applications. It ensures a consistent format for error responses by structuring them in a predefined JSON format.

Project description

Django REST Framework Exception Handler

The Django REST Framework Exception Handler is a Python package designed to streamline exception handling within Django REST Framework applications. It ensures a consistent format for error responses by structuring them in a predefined JSON format. Installation

You can install the package via pip:

pip install django-rest-exception-handler

Usage

Installation: After installation, include the package in your Django REST Framework settings in settings.py.

REST_FRAMEWORK = {
    # Other settings...
    'EXCEPTION_HANDLER': 'django_rest_exception_handler.exception_handlers.exception_handler'
}

Response Format: The package handles exceptions and formats the response in the following structure:

{
    "status": false,
    "message": "fail",
    "error": "specific error message here"
}

With using this package you could raise an excetion anywhere inside your application. Exceptions other than the APIException class will be raised as 500 Internal server error exception by the exception handler.

Example: Here the exception handler will raise a 400 exception if the data passed by the request to the serializer is invalid.

# Your Django view code

from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework.request import Request
from .serializers import YourSerializer

class YourView(APIView):
    def post(self, request: Request) -> Response:
        serializer = YourSerializer(data=request.data)
        serializer.is_valid(raise_exception=True)
        serializer.save()
        return Response(serializer.data)

Contributing

We welcome contributions! Feel free to open issues or submit pull requests. License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_rest_exception_handler-1.1.tar.gz (3.9 kB view hashes)

Uploaded Source

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page