Python 解析DRF请求体:TypeError JSON对象必须是str,而不是';字节';

Python 解析DRF请求体:TypeError JSON对象必须是str,而不是';字节';,python,django,python-3.x,django-rest-framework,postman,Python,Django,Python 3.x,Django Rest Framework,Postman,当我尝试使用Django REST框架发送JSON时,出现以下错误: 在/usermanagement/user/ JSON对象必须是str,而不是“bytes” 我的职务: def post(self,request): user=json.loads(request.body) m_user= user.get('m_name', None) m_email = user.get('m_email', None) m_age=user.get('m_age',

当我尝试使用Django REST框架发送JSON时,出现以下错误:

在/usermanagement/user/
JSON对象必须是str,而不是“bytes”

我的职务:

def post(self,request):
    user=json.loads(request.body)
    m_user= user.get('m_name', None)
    m_email = user.get('m_email', None)
    m_age=user.get('m_age', None)
    m_status = user.get('u_status_id', None)

    user = M_User(m_name=m_name, m_email=m_email, m_age=m_age, u_status_id=m_status)
    user.save()
    if user.save:
        user=M_User.objects.filter(m_user=m_user)
        serializer = M_Userserializer(user,many=True)
        context = {
            'success': "true",
            'user': serializer.data
        }
    elif not user.save:
        context={
        'success':"false"
        }
    else:
        context={
        'success':"false"
        }

    return Response(context)
在DRF中,您可以使用而不是
request.body
来获取已解析的请求:

user=request.data
在这种情况下,请求应该是
request
istance,而不是标准的django
HttpRequest
。要确保这一点,您需要使用decorator:

from rest_framework.decorators import api_view

@api_view()
def post(self,request):
    user=request.data

我不认为这个问题与原先提出的问题重复。这一条适用于DRF,而不是原始条。