Skip to content

Commit

Permalink
fixed syntax error changed "saccess" to "success"
Browse files Browse the repository at this point in the history
  • Loading branch information
QuvonchbekBobojonov committed Dec 5, 2024
1 parent d13b4e9 commit 63a6fa0
Showing 1 changed file with 31 additions and 27 deletions.
58 changes: 31 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Django Success Response

`django-success-response` is a Django REST Framework extension that provides a standardized success response format for API views. It simplifies handling both successful and error responses with customizable data structures.
`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](http://django-success-response.moorfo.uz/)

## Installation

Expand All @@ -12,23 +14,24 @@ pip install django-success-response

## Usage

In your Django views, use `SuccessResponse` to wrap the response data.
### Standard Success Response

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

### Example: Standard Success Response
#### Example:

```python
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)
```

### Result:
#### Response:

```json
{
Expand All @@ -39,23 +42,24 @@ class MyView(APIView):
}
```

### Example: Error Response
### Error Response

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

To handle errors, pass `success=False`:
#### Example:

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


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

### Result:
#### Response:

```json
{
Expand All @@ -68,31 +72,31 @@ class MyView(APIView):

## Error Handling

You can also customize Django REST Framework's error responses globally by modifying the `EXCEPTION_HANDLER` setting in your `settings.py`:
To format all error responses using the `SuccessResponse` structure, configure the `EXCEPTION_HANDLER` in your `settings.py`:

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

This will format all exceptions using the `SuccessResponse` structure.

## Generic Views and ViewSets

This package also provides customized DRF generic views and viewsets for standardized response handling.
`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 classes behave like their DRF counterparts but automatically format responses using `SuccessResponse`.
|---------------------------------|----------------------------------------|
| `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`.

0 comments on commit 63a6fa0

Please sign in to comment.