专栏首页数据云团Django源码学习-14-JsonResponse

Django源码学习-14-JsonResponse

Django源码学习-13-HttpResponse

Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。

from django.http import JsonResponse

JsonResponse类,它是HttpResponse的子类,它默认的Content-Type头部为 application/json,同时它内部也有JSON encoder,这样就不用再返回响应的时候再序列化数据。

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

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

参数:

data 要被序列化的数据

encoder 默认是django.core.serializers.json.DjangoJSONEncoder

safe 控制是否只有字典类型的数据才能被序列化

json_dumps_params用于json_dumps是传递的参数

from django.http.response import JsonResponse

def index(request):    
    data = {
    'name': 'Auth', 
    'location': 'China',       
    'is_active': True,        
    'count': 28    
    }    
    return JsonResponse(data)

返回模型数据为Json类型

如果想返回Django模型类的数据为JSON,那么做法如下:

记得将对象转换为list类型。

def index(request):    
    article= Articles.objects.all().values()    
    articles= list(article)    
    return JsonResponse(articles,safe=False)

本文分享自微信公众号 - 数据云团(SmartData),作者:云团小楠

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Django实战-生鲜电商-用户中心|商品详情

    完成了项目的模型层,最需要思考的是数据库该如何设计?这次的电商项目,从用户到下单,都会有哪些操作呢?当看到页面的那些商品信息或是活动促销信息,有考虑过它们之间的...

    小团子
  • Python-数据解析-json模块

    其中 loads() 和 load() 方法用于 python 对象的反序列化,dumps() 和 dump() 方法用于 python 对象的序列化。

    小团子
  • Python-数据解析-获取城市列表

    创建一个文件,取名为 jsonLagou.py。然后,引用 urllib.request 模块,访问拉勾网的 URL,获取网页内容。

    小团子
  • 聊聊nacos的DistroMapper

    nacos-1.1.3/naming/src/main/java/com/alibaba/nacos/naming/cluster/servers/Server...

    codecraft
  • 基于springMVC拦截器实现操作日志统计

    1.spring配置文件配置。  <!-- 拦截器 --> <mvc:interceptors> <!-- 日志拦截器 --> <bean cl...

    用户1220053
  • [Skill]程序员须掌握的概率统计基础知识

    计算机科学作为理工科一个独特的分支,本质上仍然是建立在逻辑思维上的一门科学,良好的概率论思维有助于设计高效可行的算法。

    TOMOCAT
  • gps授时仪常用的几种对时方式

    gps授时仪广泛应用于靶场、武器系统、医院、电力、金融等行业。本文我们将讨论gps授时仪常用的几种对时方式。

    时频专家
  • 【Python 第45课】 查天气(3)

    看一下我们已经拿到的json格式的天气数据: { "weatherinfo": { "city": "南京", "cit...

    Crossin先生
  • 公众号开发:获取用户消息和回复消息

    最近在看微信公众号的开发文档,觉得很有意思,可以自定义开发一些功能,比如有人关注了公众号之后,你可以做出稍微复杂点的回复(简单的回复在公众号后台配置就好啦);比...

    Java技术大杂烩
  • 概率论07 联合分布

    我之前一直专注于单一的随机变量及其概率分布。我们自然的会想将以前的结论推广到多个随机变量。联合分布(joint distribution)描述了多个随机变量的概...

    Vamei

扫码关注云+社区

领取腾讯云代金券