当前位置: 首页 > news >正文

Backend - Django JsonResponse HttpResponse

目录

一、关系

二、使用

(一)data 字典传值

1. JsonResponse

2. HttpResponse

3. 例子

(二)JsonResponse 有一个 safe 参数

(三)前端接收

1. 接收 JsonResponse 回传的值

2. 接收 HttpResponse 回传的值

3. 不分情况

(四)若报错:TypeError: In order to allow non-dict objects to be serialized set the safe parameter to False

原因:

解决:

例子:


一、关系

        JsonResponse 是 HttpResponse 的一个子类。

        从1.7版本开始,Django使用内置JsonResponse类。

二、使用

(一)data 字典传值

1. JsonResponse

JsonResponse 的 data 参数是个字典。

# JsonResponse
from django.http import JsonResponse
return JsonResponse(mydict)

2. HttpResponse

HttpResponse 的 content 参数值必须是引号包裹的字符串。

比如,用 json.dumps 将 data 值转成JSON字串。

# HttpResponse
import json
return HttpResponse(json.dumps(mydict))

3. 例子

import json
from django.http import JsonResponse
data= {'name': '萝卜干'}# 第一种
HttpResponse(json.dumps(data), content_type='application/json')  # 第一个参数位置,默认是content的参数值,第二个位置需要指定是什么参数的值,比如content_type=XXX# 第二种(几乎等价于第一种)
JsonResponse(data)  # 默认的content_type='application/json'

(二)JsonResponse 有一个 safe 参数

safe:控制是否只有dict对象可以序列化,默认为 True。

若 safe 设置为True,但是 data 的数据类型不是 dict ,则抛出一个 TypeError 类型错误。

若想对非字典的数据(如列表)进行 dumps ,则 safe 设置为 False。

(三)前端接收

1. 接收 JsonResponse 回传的值

若使用JsonResponse传值,前台ajax收到的data不需要转JSON.parse(data),直接使用。

2. 接收 HttpResponse 回传的值

若使用HttpResponse传值,需要转JSON.parse(data)处理。

3. 不分情况

若是不考虑后台采用JsonResponse或者HttpResponse,则前台ajax处理时统一加属性:dataType:'json'。

(四)若报错:TypeError: In order to allow non-dict objects to be serialized set the safe parameter to False

原因:

        JsonResponse中的参数要求字典,若非字典则报错。

解决:

        ① 传参数为字典。

        ② 设置参数safe=False。

例子:

return JsonResponse(result)
# 改为:
return JsonResponse(result, safe=False)

相关文章:

Backend - Django JsonResponse HttpResponse

目录 一、关系 二、使用 (一)data 字典传值 1. JsonResponse 2. HttpResponse 3. 例子 (二)JsonResponse 有一个 safe 参数 (三)前端接收 1. 接收 JsonResponse 回传的值 2. 接收 HttpResponse 回…...

第四阶|自在行草 暄桐教室,林曦书法 从书法之美到生活之美

我这有很多的课程,需要了可以取用 新一期(入门课),目前已经更新完毕。 新一期(第一阶),目前已经更新完毕。 新一期(第二阶),目前已经更新完毕。 新一期&#…...

kubernetes详解——从入门到入土(更新中~)

k8s简介 编排工具:系统层面ansible、saltstackdocker容器docker compose docker swarm docker machinedocker compose:实现单机容器编排docker swarm:实现多主机整合成为一个docker machine:初始化新主机mesos marathonmesos …...

VScode异常处理 (因为在此系统上禁止运行脚本)

在使用 VScode 自带程序终端的时候会报出"系统禁止脚本运行的错误" 这是由于 Windows PowerShell执行策略导致的 解决办法 管理员身份运行 Windows PowerShell执行:get-ExecutionPolicy1,显示Restricted2执行:Set-ExecutionPoli…...

(5h)Unity3D快速入门之Roll-A-Ball游戏开发

DAY1:Unity3D安装 链接 DAY2:构建场景,编写代码 链接 内容:WASD前后左右移动、摄像机跟随 DAY3:待更新 DAY4:待更新 DAY5:待更新...

分享86个选项卡TABJS特效,总有一款适合您

分享86个选项卡TABJS特效,总有一款适合您 86个选项卡TABJS特效下载链接:https://pan.baidu.com/s/1NBtPP2tT5YQqi6c744tCqg?pwd6666 提取码:6666 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气&#xff0…...

【Linux】Linux基础

文章目录 学习目标操作系统不同应用领域的主流操作系统虚拟机 Linux系统的发展史Linux内核版和发行版 Linux系统下的文件和目录结构单用户操作系统vs多用户操作系统Windows和Linux文件系统区别 Linux终端命令格式终端命令格式查阅命令帮助信息 常用命令显示文件和目录切换工作目…...

动态规划求解 fibonacci 数列

动态规划: 动态规划的基本思想是:将原问题拆分为若干子问题,自底向上的求解。是自底向上的求解,即是先计算子问题的解,再得出原问题的解。 思路: 创建一个数组,大小为n1,用于存储斐波那契数列的值。数组的…...

js最大公约数的实现有哪些办法

在JavaScript中,有几种常见的方法可以实现最大公约数(GCD)的计算。以下是其中一些方法: 辗转相除法(欧几里德算法): 辗转相除法是一种基于递归的算法,用于计算两个数的最大公约数。它…...

盘后股价狂飙16% — GitLab的DevOps产品在AI时代展现强劲财务业绩

12月4日(周一)在美股收盘后,GitLab的股价狂飙16%!人工智能驱动的DevOps产品继续凸显其平台能力的优势。 GitLab 12 月 4 日股价图 GitLab报告第三季度收入同比增长32%!根据粗略统计,全球已经有接近1万家企…...

unity UI特效遮罩

using System.Collections; using System.Collections.Generic; using UnityEngine;/**UI特效遮罩 1.需要将ScrollRect 的遮罩Mask 换为 2D Mask2.将特效的Render里面的 Masking 设置为*/ public class UIParticleMaskControll : MonoBehaviour {// Start is called before …...

编程模拟支付宝能量产生过程--数据控制流

#模拟支付宝蚂蚁森林的能量产生过程 behavior_points { # 定义行为对应的积分"步行": 2,"生活缴费": 10,"线下支付": 5,"网络购票": 5,"共享单车": 10 }total_points 0 # 初始化总积分while True: # 开…...

SQL Sever 基础知识 - 数据筛选(1)

SQL Sever 基础知识 - 四、数据筛选 四、筛选数据第1节 DISTINCT - 去除重复值1.1 SELECT DISTINCT 子句简介1.2 SELECT DISTINCT 示例1.2.1 DISTINCT 一列示例1.2.2 DISTINCT 多列示例 1.2.3 DISTINCT 具有 null 值示例1.2.4 DISTINCT 与 GROUP BY 对比 第2节 WHERE - 过滤查询…...

2024 Move 中文开发者大会将于1月13–14日在上海举办

*以下文章来源于MoveFuns ,作者MoveFunsDAO 2024 Move 中文开发者大会将于1月13日-1月14日在上海举办。本届 Move 开发者大会以 “Move 生态关键的一年” 为主题。 由 MoveFuns 、OpenBuild 和 MoveBit 主办,Rooch、AptosGlobal、alcove、zkMove 和 Ti…...

基于PHP的在线日语学习平台

有需要请加文章底部Q哦 可远程调试 PHP在线日语学习平台 一 介绍 此日语学习平台基于原生PHP开发,数据库mysql。系统角色分为用户和管理员。(附带参考设计文档) 技术栈:phpmysqlphpstudyvscode 二 功能 学生 1 注册/登录/注销 2 个人中心 3 查看课程…...

解决element ui tree组件不产生横向滚动条

结果是这样的 需要在tree的外层&#xff0c;包一个父组件 <div class"tree"><el-tree :data"treeData" show-checkbox default-expand-all></el-tree></div> 在css里面这样写,样式穿透按自己使用的css编译器以及框架要求就好 &l…...

mysql的InnoDB存储引擎

详情请参考&#xff1a;https://dev.mysql.com/doc/refman/8.0/en/innodb-storage-engine.html InnoDB 是一个通用目的的存储引擎&#xff0c;它在高可用性、高性能方面做了平衡。MySQL 8.0&#xff0c;InnoDB 是默认的存储引擎。在创建表的时候&#xff0c;如果没有使用ENGIN…...

MCU 的 TOP 15 图形GUI库:选择最适合你的图形用户界面(二)

在嵌入式系统开发中&#xff0c;选择一个合适的图形用户界面&#xff08;GUI&#xff09;库是至关重要的。在屏幕上显示的时候&#xff0c;使用现成的图形库&#xff0c;这样开发人员就不需要弄清楚底层任务&#xff0c;例如如何绘制像素、线条、形状&#xff0c;如果再高级一点…...

软件工程 单选多选补充 复刻

原文 软件的主要特性&#xff1a;无形、高成本、包括程序和文档 软件工程三要素&#xff1a;方法、工具、过程 螺旋模型包含风险分析 软件工程的主要目标&#xff1a;风险分析 面向对象开发&#xff1a;Booch、UML、Coad、OMT 软件危机的主要表现&#xff1a;软件成本太高…...

微前端个人理解与简单总结

最近一段时间在学习微前端&#xff0c;一开始是看各种博客了解微前端含义、对比多种微前端框架优劣&#xff0c;最后选择了qiankun、micro-app、wujie这三种微前端框架进行深入研究、对比。 微前端框架 推出时间 官方文档易读性 社区讨论活跃度 配置难度 Qiankun&#xff…...

PC端企业微信hook协议开发,获取要群发的客户群id

产品说明 一、 hook版本&#xff1a;企业微信hook接口是指将企业微信的功能封装成dll&#xff0c;并提供简易的接口给程序调用。通过hook技术&#xff0c;可以在不修改企业微信客户端源代码的情况下&#xff0c;实现对企业微信客户端的功能进行扩展和定制化。企业微信hook接口…...

RabbitMQ安装说明

注意: 本次安装以 CentOS 7为例 1、 准备软件 erlang 18.3 1.el7.centos.x86_64.rpm socat 1.7.3.2 5.el7.lux.x86_64.rpm rabbitmq server 3.6.5 1.noarch.rpm 2、安装Erlang rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm 3.、安装RabbitMQ 安装 rpm -ivh socat-1.7.3.2-…...

scrapy的建模及管道的使用

一、数据建模 通常在做项目的过程中&#xff0c;在items.py中进行数据建模 为什么建模 定义item即提前规划好哪些字段需要抓&#xff0c;防止手误&#xff0c;因为定义好之后&#xff0c;在运行过程中&#xff0c;系统会自动检查&#xff0c;配合注释一起可以清晰的知道要抓…...

Hadoop学习笔记(HDP)-Part.04 基础环境配置

目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …...

【Linux】进程控制--进程创建/进程终止/进程等待/进程程序替换/简易shell实现

文章目录 一、进程创建1.fork函数2.fork函数返回值3.写时拷贝4.fork常规用法5.fork调用失败的原因 二、进程终止1.进程退出码2.进程退出场景3.进程常见退出方法 三、进程等待1.为什么要进行进程等待2.如何进行进程等待1.wait方法2.waitpid方法3.获取子进程status4.进程的阻塞等…...

用pip更新、安装python的包

查看pip的版本&#xff1a;python -m pip --version 例如&#xff0c;查看下pip的版本&#xff0c;在cmd下输入命令python -m pip --version&#xff0c;可以发现当前安装的pip的版本是23.2.1&#xff1a; 查看一个包的详情&#xff1a;python -m pip show 例如&#xff0c…...

spring boot 事件机制

目录 概述实践监听spring boot ready事件代码 源码初始化流程调用流程 结束 概述 spring boot 版本为 2.7.17 。 整体看一下spring及spring boot 相关事件。 根据下文所给的源码关键处&#xff0c;打上断点&#xff0c;可以进行快速调试。降低源码阅读难度。 实践 spring…...

分布式版本管理系统---->Git(Linux---centos(保姆式)讲解1)

文章目录: 1:什么是Git以及作用 2.Git的基本操作过程(创建git仓库,配置仓库的配置) 3.git的工作区&#xff0c;暂存区&#xff0c;版本库的关系 4.将文件添加到版本库&#xff1a;git add 与git commit -m命令 5.git log查看日志的引入 6.查看.git文件中的内容 7.修改文件内容查…...

B树你需要了解一下

介绍B树的度数主要特点应用场景时间复杂度代码示例拓展 介绍 B树&#xff08;B-tree&#xff09;是一种自平衡的树&#xff0c;能够保持数据有序&#xff0c;常被用于数据库和文件系统的实现。 B树可以看作是一般化的二叉查找树&#xff0c;它允许拥有多于2个子节点。与自平衡…...

MFC设置状态栏文本导致崩溃的原因

文章目录 问题和原因解决办法1.消息机制2.定时器问题和原因 本人在类A使用多线程执行操作并且调用了类B的设置状态栏文本的函数,导致崩溃 类A void A::distribute_n_start_msg(){((B*)m_parent)->received_msg_n_start...

网页升级访问未成年/绍兴seo排名外包

摘要&#xff1a; 最近做项目中遇到批量添加和修改的问题&#xff0c;在老大的指导下学会了使用表类型参数来做批量操作。为了巩固强化&#xff0c;围绕这个技术又做了个小demo。 开始正题&#xff1a; 首先&#xff0c;我们在SQL Server 2008下创建一个示例数据库名为Table…...

武汉地区做网站/搜索引擎大全排行

实现类似Android风云直播手机端注册登录页&#xff0c;当手势向下滑动的时候&#xff0c;关闭页面的效果。使用GestureDetector来实现这个效果&#xff0c;当手势在屏幕上面滑动的时候 &#xff0c;会掉用onFling方法&#xff0c;所以&#xff0c;在这个方法里面做判断和操作即…...

如何在阿里巴巴建设网站/免费b站推广网站入口2020

名称 case - 跳转标记&#xff0c;在switch段内开启一个分支。 用法 case( : : Constant : ) 描述 case定义了一个switch段的跳转标记。 如果switch语句的控制表达式的值与Constant中定义的常量整数表达式相匹配&#xff0c;它将执行分支的内容。 对于这个参数&#xff0c;只接…...

专业网站制作公司名称/百度关键词优化大

<HTML> <HEAD> <TITLE>给数组增加元素</TITLE> </HEAD> <?$Cities[] "<B>北京</B>"; //等同于$Cities[0] "北京"$Cities[] "<B>天津</B>"; //等同于$Cities[1] "天津…...

做推广网站多少钱/百度新闻最新消息

环境是使用lnmp一键安装包搭建的&#xff1b;1 首先去这个网站下载证书&#xff1a;免费ssl证书最终会得到两个文件2&#xff1a;在/usr/local/nginx/conf创建cert目录把这两个文件放进去&#xff0c;这个地址后面有用。编辑/usr.local/nginx/conf/nginx.conf:添加下面这段&…...

网站建设的简洁性/百度智能建站系统

AngularJS路由报错&#xff1a; Unknown provider: $routeProvider根据先知们的指引&#xff0c;在网上爬贴&#xff0c;有翻到官方的解决文章。原来在AgularJS1.2.0及其之后的版本中,ngRoute已经移动到单独的文件当中&#xff0c;再使用则需要载入angular-route.js这一文件&am…...