Django之JsonResponse

Posted 王紫檀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django之JsonResponse相关的知识,希望对你有一定的参考价值。

JsonResponse 对象:

class JsonResponse(data, encoder=DjangoJSONEncoder, safe=True, json_dumps_params=None,**kwargs)

这个类是HttpRespon的子类,它主要和父类的区别在于:

1.它的默认Content-Type 被设置为: application/json

2.第一个参数,data应该是一个字典类型,当 safe 这个参数被设置为:False ,那data可以填入任何能被转换为JSON格式的对象,比如list, tuple, set。 默认的safe 参数是 True. 如果你传入的data数据类型不是字典类型,那么它就会抛出 TypeError的异常。

3.json_dumps_params参数是一个字典,它将调用json.dumps()方法并将字典中的参数传入给该方法。

 

技术分享图片
#如果这样返回,ajax还需要进行json解析
#views.py
return HttpResponse(json.dumps({"msg":"ok!"}))

#index.html
var data=json.parse(data)
console.log(data.msg);
技术分享图片
技术分享图片
#如果这样返回,两边都不需要进行json的序列化与反序列化,ajax接受的直接是一个对象
#views.py
from django.http import JsonResponse
return JsonResponse({"msg":"ok!"})

#index.html
console.log(data.msg);

 


以上是关于Django之JsonResponse的主要内容,如果未能解决你的问题,请参考以下文章

Django之JsonResponse

django之HTTPResponse和JsonResponse详解

Django - JsonResponse 中的服务器代码响应

django项目封装Jsonresponse返回值的函数代码

从Django REST中的函数返回JsonResponse

来自 Django 的 JsonResponse 没有将提到的键值对发送到 Reactjs