解决Django响应JsonResponse返回json格式数据报错问题
代码
return JsonResponse({"name": "tom"})
报错:
TYPEERROR: In order to allow non-dict objects to be serialized
set the safe parmeter to False
解决:
return JsonResponse({"name": "tom"}, safe=False)
增加safe=false,使其接受列表
补充知识:python 里面 JsonResponse (book_list,safe=False)
代码为:
# 查询所有图书 、 增加图书 def get(self,request): queryset = BookInfo.objects.all() book_list = [] for book in queryset: book_list.append({ 'id':book.id, 'bread':book.bread }) return JsonResponse (book_list,safe=False)
遇到问题:
JsonResponse (book_list,safe=False)
safe=False 这是什么鬼 ?
解决方案:
down 下源码后 :
def __init__(self, data, encoder=DjangoJSONEncoder, safe=True, json_dumps_params=None, **kwargs): if safe and not isinstance(data, dict): raise TypeError( 'In order to allow non-dict objects to be serialized set the ' 'safe parameter to False.' ) if json_dumps_params is None: json_dumps_params = {} kwargs.setdefault('content_type', 'application/json') data = json.dumps(data, cls=encoder, **json_dumps_params) super(JsonResponse, self).__init__(content=data, **kwargs)
最终答案:
'In order to allow non-dict objects to be serialized set the ' 'safe parameter to False.'
以上这篇解决Django响应JsonResponse返回json格式数据报错问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
python:解析requests返回的response(json格式)说明
我就废话不多说了,大家还是直接看代码吧! import requests, json r = requests.get('http://192.168.207.160:9000/api/qualitygates/project_status?projectId=%s' % (p_uuid) ) state=json.loads(r.text).get('projectStatus').get('status') 返回如下: { "projectStatus": { "stat
-
python获取响应某个字段值的3种实现方法
近期将要对两个接口进行测试,第一个接口的响应值是第二个接口的查询条件.为了一劳永逸,打算写个自动化测试框架.因为请求和响应都是xml格式的,遇到的问题就是怎么获取xml响应的某一个值. 尝试了很多博客的方法,最终代码实现如下: #!/usr/bin/python # -*- coding: UTF-8 -*- import requests import re import unitest xmlhead=('xml格式报文头') xmlhead=('xml格式报文体') result =req
-
django执行数据库查询之后实现返回的结果集转json
django执行sql语句后得到的返回结果是一个结果集,直接把结果转json返回给前端会报错,需要先遍历转字典在转json,特别注意model_to_dict()只会将结果集的第一条数据转字典,如果你是根据指定条件查一条数据返回的,直接用model_to_dict()没问题,如果执行的是all()或filter()到多条或全部的数据,这个时候去model_to_dict()这个集合就不行了,那么先遍历这个集合在转字典,然后转json就ok了 dic = {} res = models.table
-
Django 返回json数据的实现示例
在一个网站,大量数据的前后端交互,JSON是最好的传递数据方式了. 在Django中,使用JSON传输数据,有两种方式,一种是使用Python的JSON包,一种是使用Django的JsonResponse 方法一:使用Python的JSON包 from django.shortcuts import HttpResponse import json def testjson(request): data={ 'patient_name': '张三', 'age': '25', 'patient_
-
解决Django响应JsonResponse返回json格式数据报错问题
代码 return JsonResponse({"name": "tom"}) 报错: TYPEERROR: In order to allow non-dict objects to be serialized set the safe parmeter to False 解决: return JsonResponse({"name": "tom"}, safe=False) 增加safe=false,使其接受列表 补充知识
-
Django2.1.7 查询数据返回json格式的实现
需求问题 在日常工作中,对于前端发送过来的请求,后端django大部分都是采用json格式返回,也有采用模板返回视图的方式. 在模板返回视图的方式的确很方便,但是如果涉及到动静分离.ajax请求这类,django就只能返回json格式的数据了. 那么这里就带来了一个问题,如何将django从数据库模型类中查询的数据以json格式放回前端. 然后前端如果获取读取返回过来的数据呢? 环境说明 前端采用jquery发送ajax请求 python 3.7.2 django 2.1.7 示例说明 这次示例
-
django通过ajax发起请求返回JSON格式数据的方法
本文实例讲述了django通过ajax发起请求返回JSON格式数据的方法.分享给大家供大家参考.具体实现方法如下: 这是后台处理的: def checkemail(request): user = None if request.POST.has_key('email'): useremail = request.POST['email'] result = {} user = User.objects.filter(useremail__iexact = useremail) if user:
-
让Laravel API永远返回JSON格式响应的方法示例
json格式 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成.它基于ECMA262语言规范(1999-12第三版)中JavaScript编程语言的一个子集. JSON采用与编程语言无关的文本格式,但是也使用了类C语言(包括C, C++, C#, Java, JavaScript, Perl, Python等)的习惯,这些特性使JSON成为理想的数据交换格式. 本文将给大家详细介绍关于让Laravel API永
-
django实现HttpResponse返回json数据为中文
Python3读取写入json的中文乱码问题 之前我用django一般用JsonResponse来返回json数据格式 但是发现返回中文的时候会乱码 from django.http import JsonResponse def test(request): result = {"result": 0, "msg": "执行成功"} return return JsonResponse(result) 这种方式返回简单,但是中文会乱码 现在改成
-
使用getJSON()异步请求服务器返回json格式数据的实现
我们可以使用jquery的getJSON()方法请求服务器返回json格式数据: js代码: function test(){ $.getJSON("JsonServlet",function(result){ alert(result.name); }); } 服务器端servlet响应: @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletEx
-
Java Web程序中利用Spring框架返回JSON格式的日期
返回Json时格式化日期Date 第一步:创建CustomObjectMapper类 /** * 解决SpringMVC使用@ResponseBody返回json时,日期格式默认显示为时间戳的问题.需配合<mvc:message-converters>使用 */ @Component("customObjectMapper") public class CustomObjectMapper extends ObjectMapper { public CustomObject
-
Django 查询数据库返回JSON的实现
目录 返回多条数据 返回单个对象 和前端交互全部使用JSON,如何将数据库查询结果转换成JSON格式 返回多条数据 示例 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',
-
SpringBoot2.0解决Long型数据转换成json格式时丢失精度问题
目录 解决Long型数据转换成json格式时丢失精度 SpringBoot时间格式,Long型精度丢失常见问题 时间格式,Long型精度丢失 解决Long型数据转换成json格式时丢失精度 最近项目中突然发现雪花算法生成的数据库主键id返回给前端时和本身的值不一致,于是后端进行断点调试发现没问题,于是问题聚焦于转换json格式,于是自定义Json 格式化,因为使用Springboot,全是自动化配置,所以要覆盖框架本身的转换方式,经翻阅官方文档,提下下列注解,自定json转换 代码如下: @Js
-
zabbix redis自动发现端口的脚本返回json格式
在我们进行自动发现的时候,总会有一个脚本来获取端口等信息,并返回json格式,那以redis为例,下边是redis进行进行自动发现的脚本 redisport=(`ps aux|grep -w redis-server|grep -v "grep" |awk -F':' '{print $NF}'`) portnum=${#redisport[@]} count=`hostname | grep "\-SQ" | wc -l` if [ $count -eq 1 ];
随机推荐
- Asp.Net Core 通过中间件防止图片盗链的实例
- JS获取html对象的几种方式介绍
- Erlang程序设计(第2版)读书笔记:Erlang安装和基础语法
- 解析Linux系统中JVM内存2GB上限的详解
- python实现通过pil模块对图片格式进行转换的方法
- MySQL不支持INTERSECT和MINUS及其替代方法
- php下将XML转换为数组
- 把字符串转为HtmlTable演示动画
- 举例讲解C语言对归并排序算法的基础使用
- JQuery实现样式设置、追加、移除与切换的方法
- Ubuntu14.04和Ubuntu16.04更换阿里源的方法
- Android开发中Dialog半透明背景消失
- C#中变量、常量、枚举、预处理器指令知多少
- MyBatis SQL xml处理小于号与大于号正确的格式
- iOS登录时验证手机号与倒计时发送验证码问题详解
- 在Vue项目中使用jsencrypt.js对数据进行加密传输的方法
- scala当中的文件操作和网络请求的实现方法
- MySQL查询条件中放置on和where的区别分析
- PDO::rollBack讲解
- python中字符串内置函数的用法总结