解决Django响应JsonResponse返回json格式数据报错问题
代码
returnJsonResponse({"name":"tom"})
报错:
TYPEERROR:Inordertoallownon-dictobjectstobeserialized
setthesafeparmetertoFalse
解决:
returnJsonResponse({"name":"tom"},safe=False)
增加safe=false,使其接受列表
补充知识:python里面JsonResponse(book_list,safe=False)
代码为:
#查询所有图书、增加图书
defget(self,request):
queryset=BookInfo.objects.all()
book_list=[]
forbookinqueryset:
book_list.append({
'id':book.id,
'bread':book.bread
})
returnJsonResponse(book_list,safe=False)
遇到问题:
JsonResponse(book_list,safe=False)
safe=False这是什么鬼?
解决方案:
down下源码后:
def__init__(self,data,encoder=DjangoJSONEncoder,safe=True,
json_dumps_params=None,**kwargs):
ifsafeandnotisinstance(data,dict):
raiseTypeError(
'Inordertoallownon-dictobjectstobeserializedsetthe'
'safeparametertoFalse.'
)
ifjson_dumps_paramsisNone:
json_dumps_params={}
kwargs.setdefault('content_type','application/json')
data=json.dumps(data,cls=encoder,**json_dumps_params)
super(JsonResponse,self).__init__(content=data,**kwargs)
最终答案:
'Inordertoallownon-dictobjectstobeserializedsetthe''safeparametertoFalse.'
以上这篇解决Django响应JsonResponse返回json格式数据报错问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。