Встречается на собеседованиях • сегодня

Как вернуть в Django ответ с сервера, если пришли некорректные данные с клиента

В Django для возврата ответа с ошибкой при некорректных данных можно использовать HttpResponseBadRequest или возвращать JSON-ответ с помощью JsonResponse.

Пример с JsonResponse:

python
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:

python
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() и возвращать ошибки валидации:

python
if not form.is_valid():
    return JsonResponse(form.errors, status=400)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы