Как вернуть в Django ответ с сервера, если пришли некорректные данные с клиента
Python
Junior
Без компании
Как вернуть в Django ответ с сервера, если пришли некорректные данные с клиента
Ответы
В Django для возврата ответа с ошибкой при некорректных данных можно использовать `HttpResponseBadRequest` или возвращать JSON-ответ с помощью `JsonResponse`.
**Пример с JsonResponse:**
```
from django.http import JsonResponse
def my_view(request):
data = request.POST.get('data')
if not data:
return JsonResponse(
{'error': 'Invalid data provided'},
status=400
)
# Обработка корректных данных
return JsonResponse({'success': True})
```
**Или с HttpResponseBadRequest:**
```
from django.http import HttpResponseBadRequest
def my_view(request):
if not request.POST.get('data'):
return HttpResponseBadRequest("Invalid data")
# Обработка данных
return HttpResponse("OK")
```
Для форм можно использовать `form.is_valid()` и возвращать ошибки валидации:
```
if not form.is_valid():
return JsonResponse(form.errors, status=400)
```