Django 接收到body后 json.loads() 报编码错误 且在报错之前打印body为空
python版本 3.7.5
Django版本 3.2.5
猜测可能是Django版本的问题,因为之前并没有出现过如此奇葩的问题。
body = request.body.decode('utf-8')
bodydict = json.loads(body)
接口请求后会报错(body中传递的是json),以为传递的数据有问题于是在接收到body之后打印出来打算看下
print(type(request.body),request.body)
然后什么都打印不出来 json.loads 依然继续报错
后来加了异常捕获之后,报错莫名其妙没有了,并且可以正常执行!!!!
1 body = request.body.decode('utf-8')
2 try:
3 bodydict = json.loads(body)
4 except BaseException as error:
5 print(error,body)
原意是想通过异常捕获看看下报错信息和是否能打印出body
但是奇怪的发现代码正常执行,没有任何任何异常。json.loads莫名其妙的成功了
多次反复测试发现,body在json.loads的时候必须放到try里边
在下才疏学浅并不是很明白这是什么原因导致的
希望屌大的看到后能告知具体原因
Django 接收到body后 json.loads() 报编码错误 且在报错之前打印body为空的更多相关文章
- PyCharm运行报编码错误
运行报如下错误: SyntaxError: Non-ASCII character '\xe8' in file /home/ubuntu/code/201803091253-text.py on l ...
- Django(app的概念、ORM介绍及编码错误问题)
day61 Django中的APP: 什么是APP?以及为什么要用APP? project --> 项目 (老男孩教育大学校) ...
- jenkins使用slave报编码错误[WARNING] File encoding has not been set, using platform encoding ANSI_X3.4-1968, i.e. build is platform dependent!
jenkins:master-slave 模式: master编码配置: slave编码配置: 可以看出master 和 slave的配置是一样的,但是当项目在slave上执行的时候,偶尔会报如下错误 ...
- MYSQL 编码方式 ------导入 .sql 文件 报编码错误
在做计量泵上位机时,利用MYSQL存储数据,建表hisruninfo(计量泵历史运行数据表). 表格式为utf8,查过数据库 格式 同样为utf8 导入该hisruninfo.sql文件时,并没有报错 ...
- 运行Python2.x程序报编码错误的解决办法-UnicodeDecodeError: 'ascii' codec can't decode byte 0xb7 in position 7: ordina not in range(128)[0m
Python编码问题的终极解决方案:在python的Lib\site-packages文件夹下新建一个sitecustomize.py文件,输入: import sys sys.setdefaulte ...
- laravel报404错误与NGINX报404错误区别
nginx自己配置的404页面 和laravel配置的404页面:如果报了404 :执行laravel的404页面: 那这个404页面对nginx来说意味着什么 laravel 路由和页面找 ...
- json.loads 报错 json.decoder.JSONDecodeError
json.loads报json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes 出现这个错误其实只 ...
- Django中修改DATABASES后,执行python manage.py ****报错!UnicodeEncodeError
Django中修改DATABASES后,执行python manage.py ****报错!UnicodeEncodeError: 'latin-1' codec can't encode chara ...
- json.dumps(),json.loads(),json.dump(),json.load()方法的区别
1. json.dumps() json.dump()是将字典类型转化成字符串类型. import json dic = {'a':'1111','b':'2222','c':'3333','d':' ...
- django 使用Ajax方式POST JSON数据包
示例1: js: function SaveAction(){ //点击 保存按键 var senddata = {"type":"A", "host ...
随机推荐
- SpringBoot 配置文件使用详解
一.创建一个SpringBoot项目 创建 SprintBoot 项目的 2 种方式: 在 https://start.spring.io/ 上创建一个 SpringBoot 项目,然后导入到 IDE ...
- Beats: 使用 Filebeat 进行日志结构化
文章转载自:https://blog.csdn.net/UbuntuTouch/article/details/106688240 生产一个叫做 json_logs 的文件: {"user_ ...
- 俄罗斯的 HTTPS 证书问题
文章转载自:https://mp.weixin.qq.com/s/8EikwCvZgKt2TFsld-nKSA
- Logstash: 如何创建可维护和可重用的Logstash管道
- 查看docker程序使用的内存脚本
#!/bin/bash # 找出所有运行的容器 idNames=`docker ps --format "{{.ID}}|{{.Names}},"` # 按,号分隔 OLD_IFS ...
- Kibana管理
这里是用来管理您的 kibana 运行时配置的地方,包括初始化配置和后续的索引模式配置.高级设置等.您可以调整 kibana 自身的行为,也可以编辑您通过 kibana 保存的查询.视图.仪表板等各种 ...
- 字符串反码A
while True: try: string=input() if string!="!": res="" for i in string: if i.isu ...
- 多云容器编排 Karmada-Operator 实践
作者:vivo 互联网服务器团队-Zhang Rong Karmada作为开源的云原生多云容器编排项目,吸引了众多企业共同参与项目开发,并运行于生产环境中.同时多云也逐步成为数据中心建设的基础架构,多 ...
- Vue中生成UUID
<template> <div :id="elId" class="container"> <a>{{elId}}</ ...
- 支持 Java 8/11/17/19 的框架,Solon v1.10.5 版本发布
Java 轻量级应用开发框架.可用来快速开发 Java 应用项目,主框架仅 0.1 MB. 相对于 Spring Boot 和 Spring Cloud 的项目: 启动快 5 - 10 倍. (更快) ...