Как обнаружить отсутствие определенного поля в полезной нагрузке и обработать его с помощью исключения в Django?

#python #django #request #pycharm #body-parser

Вопрос:

У меня есть такой метод:

 @csrf_exempt
def my_method(request):
    if request.method == 'POST':
        payload = json.loads(request.body)
        try:
            name = payload['name']
            return HttpResponse("YES", content_type='text/json')
        except payload['name'].DoesNotExist:
            return HttpResponse("NO", content_type='text/json')
 

Поэтому я хочу обнаружить и обработать ошибку, когда внешнее устройство не отправляет поле имени в теле. На данный момент я получаю несколько ошибок, когда не отправляю поле имени в теле. Пожалуйста, помогите мне исправить это, так как я получаю лучший способ.

Комментарии:

1. Вопрос неясен. Пожалуйста, добавьте некоторые пояснения к вашему вопросу. Также исправьте отступ в коде.

2. @Ram, пожалуйста, проверьте еще раз.

3. @Ошибка имени оперативной памяти в /поле имени my_url «поле» не определено

4. Также укажите, какие сообщения об ошибках вы получаете. Полная обратная трассировка ошибки. Мы не можем помочь вам, не зная о полной ошибке

Ответ №1:

Попробуй это. Это может сработать.

 name = payload.get('name',None)
if not name:
    return HttpResponse("NO", content_type='text/json')
else:
    return HttpResponse("YES", content_type='text/json')