gpt4 book ai didi

python - 解析 DRF 请求主体 : TypeError the JSON object must be str, 而不是 'bytes'

转载 作者:太空狗 更新时间:2023-10-30 02:53:32 25 4
gpt4 key购买 nike

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

TypeError at /usermanagement/user/
the JSON object must be str, not '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.data而不是 request.body 来获取已经解析的请求:

user=request.data

在这种情况下,请求应该是 Request istance 而不是标准的 django HttpRequest。为确保这一点,您需要使用 api_view装饰者:

from rest_framework.decorators import api_view

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

关于python - 解析 DRF 请求主体 : TypeError the JSON object must be str, 而不是 'bytes',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49187774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com