Skip to main content

Django app for customizing response

Project description

Django Success Response

django-success-response is a Django REST Framework extension that standardizes success and error response formats in API views. It simplifies response handling by providing a consistent structure and offers easy customization for data formats.

Official Docs: django-success-response.moorfo.uz

Installation

Install the package via pip:

pip install django-success-response

Usage

Standard Success Response

To return a standard success response, use SuccessResponse in your Django views.

Example:

from success_response.response import SuccessResponse
from rest_framework.views import APIView

class MyView(APIView):
    @staticmethod
    def get(request):
        data = {'key': 'value'}
        return SuccessResponse(data)

Response:

{
    "success": true,
    "result": {
        "key": "value"
    }
}

Error Response

For error responses, set success=False and provide an error message.

Example:

from success_response.response import SuccessResponse
from rest_framework.views import APIView

class MyView(APIView):
    @staticmethod
    def get(request):
        data = {'detail': 'error'}
        return SuccessResponse(data, success=False)

Response:

{
    "success": false,
    "result": {
        "detail": "error"
    }
}

Error Handling

To format all error responses using the SuccessResponse structure, configure the EXCEPTION_HANDLER in your settings.py:

REST_FRAMEWORK = {
    'EXCEPTION_HANDLER': 'success_response.views.success_exception_handler'
}

Generic Views and ViewSets

django-success-response provides customized DRF generic views and viewsets that automatically return responses in the SuccessResponse format.

Available Views and ViewSets:

Standard View Success Equivalent
CreateAPIView SuccessCreateAPIView
RetrieveAPIView SuccessRetrieveAPIView
UpdateAPIView SuccessUpdateAPIView
DestroyAPIView SuccessDestroyAPIView
ListAPIView SuccessListAPIView
RetrieveUpdateAPIView SuccessRetrieveUpdateAPIView
RetrieveDestroyAPIView SuccessRetrieveDestroyAPIView
RetrieveUpdateDestroyAPIView SuccessRetrieveUpdateDestroyAPIView
ModelViewSet SuccessModelViewSet
ReadOnlyModelViewSet SuccessReadOnlyModelViewSet

These views behave like their DRF counterparts but automatically format responses using SuccessResponse.

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_success_response-1.0.5.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_success_response-1.0.5-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file django_success_response-1.0.5.tar.gz.

File metadata

  • Download URL: django_success_response-1.0.5.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.6

File hashes

Hashes for django_success_response-1.0.5.tar.gz
Algorithm Hash digest
SHA256 8f7a25858fc0dd4acff88e6652115129ba55737920c912dcf702dc5353c22f7b
MD5 29f77b8bffa97aff0cda17a0b3c5a97f
BLAKE2b-256 03ad902966800f7cb65cb0e84f16ae66acdb83de3e62c442dde6f38524d62313

See more details on using hashes here.

File details

Details for the file django_success_response-1.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for django_success_response-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 206421340dbf13520274c6db3727fa4c0925fe8f496d48ecc84828c39718e282
MD5 4cd22565b528131781e8da0ce6f9b107
BLAKE2b-256 5f64e9ae40aeb572d9a5d7ce0aa7cc505fd5f614013db5e8c8656111c565dce8

See more details on using hashes here.

Supported by

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