Python 解析DRF请求体:TypeError JSON对象必须是str,而不是';字节';
当我尝试使用Django REST框架发送JSON时,出现以下错误: 在/usermanagement/user/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',
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,而不是标准的djangoHttpRequest
。要确保这一点,您需要使用decorator:
from rest_framework.decorators import api_view
@api_view()
def post(self,request):
user=request.data
我不认为这个问题与原先提出的问题重复。这一条适用于DRF,而不是原始条。