Django之JsonResponse

JsonResponse 对象:

class JsonResponse(data, encoder=DjangoJSONEncoder, safe=True, json_dumps_params=None,**kwargs)

这个类是HttpRespon的子类,它主要和父类的区别在于:

1.它的默认Content-Type 被设置为: application/json

2.第一个参数,data应该是一个字典类型,当 safe 这个参数被设置为:False ,那data可以填入任何能被转换为JSON格式的对象,比如list, tuple, set。 默认的safe 参数是 True. 如果你传入的data数据类型不是字典类型,那么它就会抛出 TypeError的异常。

3.json_dumps_params参数是一个字典,它将调用json.dumps()方法并将字典中的参数传入给该方法。

#如果这样返回,ajax还需要进行json解析
#views.py
return HttpResponse(json.dumps({"msg":"ok!"}))

#index.html
var data=json.parse(data)console.log(data.msg);

#如果这样返回,两边都不需要进行json的序列化与反序列化,ajax接受的直接是一个对象
#views.py
from django.http import JsonResponse
return JsonResponse({"msg":"ok!"})

#index.html
console.log(data.msg);

原文地址:https://www.cnblogs.com/Jupiter1994/p/9197581.html

时间: 2024-10-11 17:25:48

Django之JsonResponse的相关文章

Django 之 JsonResponse使用方法

JsonResponse作用:通常用于捡写API接口时,各个业务系统之间数据传递所使用 代码 class Json(View): def get(self,request): #get方法 data={"name":"kang","age":18} from django.http import JsonResponse #导入django的JsonResponse方法 return JsonResponse(data) #返回一个字典格式给浏览

Django 之 JsonResponse 对象

JsonResponse 是 HttpResponse 的子类,与父类的区别在于: JsonResponse 默认 Content-Type 类型为 application/json HttpResponse 默认为 application/text class JsonResponse(HttpResponse): def __init__(self, data, encoder=DjangoJSONEncoder, safe=True, json_dumps_params=None, **k

关于Django中JsonResponse返回中文字典编码错误的解决方案

解决方案:JsonResponse(data, json_dumps_params={'ensure_ascii':False}) ! data是需要渲染的字典 def master(request): data = {'这是':'主页'} return JsonResponse(data, json_dumps_params={'ensure_ascii':False}) 显示效果: 首先我们看JsonResponse()的源码: class JsonResponse(HttpResponse

Python全栈开发【Django进阶之序列化】

Django序列化 序列化是将对象状态转换为可保持或传输的格式的过程 反序列化是指将存储在存储媒体中的对象状态装换成对象的过程 例如游戏都有存档的功能.再次开始的时候只需读档即可(这即是一个序列化与反序列的过程) 序列化也可以将一个对象传递到另一个地方的 关于Django中的序列化主要应用在将数据库中检索的数据返回给客户端用户,特别的Ajax请求一般返回的为Json格式. 1.serializers 用于序列化QuerySet中的对象 from django.core import serial

Django中使用Json返回数据

在一个网站在,大量数据与前端交互,JSON是最好的传递数据方式了. 在Django中,使用JSON传输数据,有两种方式,一种是使用Python的JSON包,一种是使用Django的JsonResponse 方法一:使用Python的JSON包 1 from django.shortcuts import HttpResponse 2 3 import json 4 5 6 def testjson(request): 7 data={ 8 'patient_name': '张三', 9 'age

Django Rest Framework Serializer的简单使用

1.RESTful 1.1 定义 REST(Representational State Transfer)与技术无关,代表一种软件架构风格,中文为表征状态转移. 1.2 RESTful API设计 API与用户的通信协议,总是使用HTTPS协议 域名 https://api.example.com 尽量将API部署在专用域名(会存在跨域问题) https://example.org/api/ API在路径上,简单 版本 URL 如:https://api.example.com/v1/ 代表v

Flask框架 之 功能详解

浏览目录 配置文件 路由系统 视图 请求相关 响应 模板渲染 session 闪现 中间件 蓝图(blueprint) 特殊装饰器 配置文件 知识点 给你一个路径 “settings.Foo”,可以找到类并获取其中的大写的静态字段. settings.py class Foo: DEBUG = True TEST = True xx.py import importlib path = "settings.Foo" p,c = path.rsplit('.',maxsplit=1) m

django之HTTPResponse和JsonResponse详解

HttpResponse对象 Django服务器接收到客户端发送过来的请求后,会将提交上来的这些数据封装成一个HttpRequest对象传给视图函数.那么视图函数在处理完相关的逻辑后,也需要返回一个响应给浏览器.而这个响应,我们必须返回HttpResponseBase或者他的子类的对象.而HttpResponse则是HttpResponseBase用得最多的子类.那么接下来就来介绍一下HttpResponse及其子类. 常用属性: content:返回的内容. status_code:返回的HT

django的文件上传&JsonResponse的使用&数据库的连接

1 request对象 method:请求方式 GET:get请求的参数(post请求,也可以携带参数) POST:post请求的参数(本质是从bdoy中取出来,放到里面了) COOKIES: META:字典(放着好多东西,前端传过来的,一定能从其中拿出来) body:post提交的数据 path:请求的路径,不带参数 request.get_full_path() 请求路径,带参数 session: user: FILES encoding:编码格式 is_ajax(): 2 HttpResp