django查询结果返回的都是可迭代的queryset序列,如果不太习惯这种数据的话,可以用serializers方法转成json数据,更直观,返回json数据需要用到JsonResponse ,django 查询数据库返回json数据有3种方法“:
serializers转json
model_to_dict转字典
values转list (最简单推荐此种方法)
JsonRespoonse
json是常见的数据交换格式,有时需要返回一个json格式的数据,而JsonResponse提供了一个快捷的方法。
属于HttpResponse的一个子类,用来帮助用户创建Json编码的响应。下面我们学习一下JsonResponse构造函数:
data:应该传递一个标准的跑一趟红字典给它,将其转换成json数据。
encoder:默认为django.core.serializers.json.DjangoJSONEncoder,用于序列化data,更多信息参见JSON序列化。
safe:默认为True,如果设置为False,可以传递任何对象进行序列化(否则,只允许dict实例)。
另外:默认Content-Type 头部设置为applicatyion-json
json_dumps_params:在1.9版本中新增,可以传递python标准的json库中,json.dump()方法处理后生成一个响应。
用法:
views.py文件导入JsonResponse,创建视图函数