如何检测有效负载中缺少特定字段并通过 Django 中的异常处理?

How to detect lack of specific field in payload and handle it via exception in Django?

我有这样的方法:

@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')

所以当前端设备未在正文中发送 name 字段时,我想检测并处理错误。目前,当我没有在正文中发送 name 字段时,我遇到了几个错误。请帮我解决这个问题,我有更好的方法。

试试这个。可能有用。

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