Django 1.8.11 查询数据库返回JSON格式数据
Django 1.8.11 查询数据库返回JSON格式数据
和前端交互全部使用JSON,如何将数据库查询结果转换成JSON格式
环境
Win10
Python2.7
Django 1.8.11
返回多条数据
示例
import json
from django.http import HttpResponse
from django.core import serializers
def db_to_json(request):
scripts = Scripts.objects.all()[0:1]
json_data = serializers.serialize('json', scripts)
return HttpResponse(json_data, content_type="application/json")
返回结果
[{
"fields": {
"script_content": "abc",
"script_type": "1"
},
"model": "home_application.scripts",
"pk": "03a0a7cf-567a-11e9-8566-9828a60543bb"
}]
功能实现了,但是我需要返回一个约定好的JSON格式,查询结果放在 data 中
{"message": 'success', "code": '0', "data": []}
代码如下:
import json
from django.http import HttpResponse
from django.core import serializers
def db_to_json2(request):
# 和前端约定的返回格式
result = {"message": 'success', "code": '0', "data": []}
scripts = Scripts.objects.all()[0:1]
# 序列化为 Python 对象
result["data"] = serializers.serialize('python', scripts)
# 转换为 JSON 字符串并返回
return HttpResponse(json.dumps(result), content_type="application/json")
调用结果
{
"message": "success",
"code": "0",
"data": [{
"fields": {
"script_content": "abc",
"script_type": "1"
},
"model": "home_application.scripts",
"pk": "03a0a7cf-567a-11e9-8566-9828a60543bb"
}]
}
有点难受的是,每条数据对象包含 fields,model,pk三个对象,分别代表字段、模型、主键,我更想要一个只包含所有字段的字典对象。虽然也可以处理,但还是省点性能,交给前端解析吧。
返回单个对象
代码:
from django.forms.models import model_to_dict
from django.http import HttpResponse
import json
def obj_json(request):
pk = request.GET.get('script_id')
script = Scripts.objects.get(pk=pk)
# 转为字典类型
script = model_to_dict(script)
return HttpResponse(json.dumps(script), content_type="application/json")
返回JSON:
{
"script_id": "1534d8f0-59ad-11e9-a310-9828a60543bb",
"script_content": "3",
"script_name": "3",
"script_type": "1"
}
Django 1.8.11 查询数据库返回JSON格式数据的更多相关文章
- Spring MVC 学习笔记11 —— 后端返回json格式数据
Spring MVC 学习笔记11 -- 后端返回json格式数据 我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点: 1. JSON的全称是"JavaScript ...
- 返回json格式数据乱码
本文为博主原创,未经允许不得转载: 原本返回json格式数据的代码: @ResponseBody @RequestMapping(value = "getListByTime", ...
- WebService返回json格式数据供苹果或者安卓程序调用
1.新建一个WebService. 2. /// <summary> /// DemoToJson 的摘要说明 /// </summary> [WebService(Names ...
- 使用jQuery发送POST,Ajax请求返回JSON格式数据
问题: 使用jQuery POST提交数据到PHP文件, PHP返回的json_encode后的数组数据,但jQuery接收到的数据不能解析为JSON对象,而是字符串{"code" ...
- springmvc通过ajax异步请求返回json格式数据
jsp 首先创建index.jsp页面 <script type="text/javascript"> $(function () { $("#usernam ...
- ajax请求后台,返回json格式数据,模板!
添加一个用户的时候,需要找出公司下所有的部门,和相应部门下的角色,利用ajax请求,实现联动技术.将返回的json格式数据,添加到select标签下. <script type="te ...
- 如何让webapi只返回json格式数据
最近脑子不好用,总记不住事,以前搞过让webapi只返回json格式的数据,今天有人问我又突然想不起了,后来总结一下,备忘一下,大概有下面几种处理方式 1.在WebApiConfig类的Registe ...
- C#返回JSON格式数据
又类的属性生成json格式数据 using System; using System.Collections.Generic; using System.Linq; using System.Web; ...
- EasyUI+JSP之java读取数据库后JSON格式数据的返回及调用
做作业工程中遇到一些问题,特此记录一下 解决的问题:使用EasyUI框架搭建简单学生管理系统(数据库增删改查)操作时配合JSP,不知道如何把从数据库获得的数据封装成JSON格式并传回前端JSP并进行展 ...
随机推荐
- 图文详解在Windows系统中安装JDK
本文以在Windows10中安装JDK8为例进行安装,其他系统和版本都是大同小异的. 下载 进入Oracle官方网站的下载页面:https://www.oracle.com/technetwork/j ...
- mysql中常见约束
#常见约束 /* 含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性 分类:六大约束 NOT NULL:非空,用于保证该字段的值不能为空 比如姓名.学号等 DEFAULT:默认,用于 ...
- DirectX11 With Windows SDK--34 位移贴图
前言 在前面的章节中,我们学到了法线贴图和曲面细分.现在我们可以将这两者进行结合以改善效果,因为法线贴图仅仅只是改善了光照的细节,但它并没有从根本上改善几何体的细节.从某种意义上来说,法线贴图只是一个 ...
- As 布局文件太多很乱的问题
//添加自定义文件整理文件夹的方法,没有之一在build.gradle(Module: app)里加入布局需要放入的路径代码>>>>>> sourceSets { ...
- [Qt2D绘图]-01Qt2D绘图基本绘制和填充
Qt的文档位置为 Paint System 大纲: 简介 先看一个小例子 基本的绘制和填充 使用画笔(Qpen) 使用画刷(QBrush) ...
- 肝了两天IntelliJ IDEA 2020,解锁11种新姿势, 真香!!!
IDEA2020版本正式发布已经有3个月了,当时由于各方面原因(太懒)也没有去尝试新功能.于是这个周末特意去在另一个电脑上下载了最新版的IDEA,并尝试了一下.总的来说呢,体验上明显的提升. 作为一个 ...
- Redis中的Scan命令踩坑记
1 原本以为自己对redis命令还蛮熟悉的,各种数据模型各种基于redis的骚操作.但是最近在使用redis的scan的命令式却踩了一个坑,顿时发觉自己原来对redis的游标理解的很有限.所以记录下这 ...
- 组件缓存注意事项 ---keep-alive
- 疯狂Python讲义PDF高清完整版免费下载|百度网盘
百度网盘:疯狂Python讲义PDF高清完整版免费下载 提取码:uzba 内容简介 <疯狂Python讲义>既是一本适合初学者入门Python的图书(一个8岁的小朋友在未出版前已学习了本书 ...
- LevelDB,你好~
LevelDB,你好~ 上篇文章初识:LevelDB介绍了啥是LevelDB,LevelDB有啥特性,以及Linux环境下编译,使用及调试方法. 这篇文章的话,算是LevelDB源码学习的开端吧,主要 ...