django 3种返回json方法

1.手动组装字典返回

from django.http import JsonResponse, HttpResponse
from django.shortcuts import render
from app01.models import Book # Create your views here. def get_book(request):
all_book = Book.objects.all()
d = []
for i in all_book:
d.append({'name': i.name})
return JsonResponse(d, safe=False)

2.JsonResponse返回

def get_book2(request):
from django.forms.models import model_to_dict
all_book = Book.objects.all()
d = []
for i in all_book:
d.append(model_to_dict(i)) # <-------针对一个对象()
return JsonResponse(d, safe=False) # 非字典要设置成false

一般自己的系统会从别的系统获取数据, 这里应该也仅限于展示, 所以JsonResponse还是有很多实用场景

def booapi(request):
from django.core.serializers import serialize
book_list = [
{'id': 1, 'name': 'ptyhon'},
{'id': 2, 'name': 'go'},
]
import json
return HttpResponse(json.dumps(book_list), content_type='application/json')

3.django自带的serializers返回

这个好像只能针对queryset操作,即本地db里的数据,不能操作从其他系统api获取到的list ,dict等

def get_book3(request):
from django.core.serializers import serialize
d = serialize('json', Book.objects.all()) # <-------针对一个queryset,[{}, {}] # return HttpResponse(d)
return HttpResponse(d)
return render(request, 'myapp/index.html', {'foo': 'bar',}, content_type='application/xhtml+xml')

return HttpResponse(t.render(c, request), content_type='application/xhtml+xml')

return HttpResponse(json.dumps(data), content_type='application/json', status=400)

JsonResponse = HttpResponse+content-type

model转dict方法

https://mp.weixin.qq.com/s/7gPLaCESHAB0dLgq7qZq5Q



使用类的__dict__方法

https://stackoverflow.com/questions/21925671/convert-django-model-object-to-dict-with-all-of-the-fields-intact

http://www.liujiangblog.com/course/django/171

[django]django 3种返回json方法的更多相关文章

  1. 转: .NET MVC3 几种返回 JSON 对象的方式和注意事项

    .NET MVC3 几种返回 JSON 对象的方式和注意事项 转自:http://blog.csdn.net/xxj_jing/article/details/7382589 引言在用 .NET MV ...

  2. .NET中常用的几种解析JSON方法

    一.基本概念 json是什么? JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是一种轻量级的数据交换格式,是存储和交换文本信息的语法. ...

  3. ajax 返回Json方法

    public static void sendJsonData(String data) { ActionContext ac = ActionContext.getContext(); HttpSe ...

  4. Django 分页查询并返回jsons数据,中文乱码解决方法

    Django 分页查询并返回jsons数据,中文乱码解决方法 一.引子 Django 分页查询并返回 json ,需要将返回的 queryset 序列化, demo 如下: # coding=UTF- ...

  5. SpringMVC 返回JSON数据的配置

    spring-mvc-config.xml(文件名称请视具体情况而定)配置文件: <!-- 启动Springmvc注解驱动 --> <mvc:annotation-driven> ...

  6. spring mvc 返回json的配置

    转载自:http://my.oschina.net/haopeng/blog/324934 springMVC-servlet.xml 配置 1 2 3 4 5 6 7 8 9 10 11 12 13 ...

  7. Django中的 返回json对象的方式

    在返回json对象的几种方式: 1 from django.shortcuts import render, HttpResponse # Create your views here. from d ...

  8. django 模板语法和三种返回方式

    模板 for循环 {% for athlete in athlete_list %} <li>{{ athlete.name }}</li> {% endfor %} if语句 ...

  9. django 返回json

    django返回json有以下三个版本 from django.http import HttpResponse import json from django.views import View f ...

随机推荐

  1. 【zheng环境准备】安装zookeeper

    1.zookeeper下载 wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar ...

  2. css - Grid网格布局

    .wrapper{ display: grid; grid-template-columns: 100px 100px 100px; grid-template-rows: 100px 100px 1 ...

  3. postmain 通过函数动态设置参数

    调用服务器的服务,其中有个参数是签名,签名需要计算,需要写一个本地函数. 下一步 pre-request Script 的代码如下: (function($) { if(!$.encoding) $. ...

  4. 利用selenroid扩展uiautoamtor的webview解析能力

    uiautomator是一个非侵入式框架,但是webview解析能力很弱.为了改进webview的支持,可以考虑把webdriver或者selenroid整合进来. 具体接入可参考:http://se ...

  5. SPL标准库-数据结构

    数据结构:栈 );] = ;] = ;var_dump($array); 来自为知笔记(Wiz)

  6. DevOps平台的“精益创业”之路

    本文内容节选自第六届全球软件案例研究峰会,时任中国移动通信集团浙江有限公司罗琼老师,申健老师分享的<DevOps平台的“精益创业”之路>实录,重点分享:DevOps产品研发过程,对外实施敏 ...

  7. centos 安装教程 服务器配置教程 服务器中安装python 服务器中安装Django 安装MySQL 配置MySQL

    一 .解决python编译安装所需的软件依赖 yum install gcc patch libffi-devel python-devel  zlib-devel bzip2-devel opens ...

  8. day13: 迭代器和生成器

    1,思考所有可以被for循环的:list,tuple,set,dict,range,enumerate,f,str,差不多了,为何这些数据类型可以被for循环呢? 2,一个标准的装饰器函数 from ...

  9. 随着应用对事务完整性和并发性要求的不断提高,MySQL才开始开发基于事务的存储引擎

    MYSQL 解锁与锁表 - 专注it - 博客园 https://www.cnblogs.com/wanghuaijun/p/5949934.html 2016-10-11 16:50 MYSQL 解 ...

  10. PHP之魔术引号

    什么是魔术引号 Warning 本特性已自 PHP5.3.0起废弃并将自PHP5.4.0起移除. 当打开,所有的'(单引号),"(双引号),  (反斜线)和NULL 字符都会被自动加上一个反 ...