对python中各个response的使用说明

Python django中我们经常用的response有django中的 JsonResponse, HttpResponse,还有DRF中的Response

在使用的时候,经常会不知道如何什么时候选择用哪个response

下面简单记录下这三个response的区别

1、HttpResponse

它的返回格式为:HttpResponse(content=响应体, content_type=响应体数据类型, status=状态码)

1)它可以返回普通文本信息

HttpResponse("哈哈哈哈")

2)它可以像文本一样追加内容:

res = HttpResponse("哈哈哈哈")

res.write("<p>恩,我们是一个测试段落</p>")

3、它还可以返回图片,音频,视频等二进制文件信息

img = open(filepath,"rb")
data = img.read()
return HttpResponse(data, content_type="image/png")

2、JsonResponse

它继承自HttpResponse,它主要用于返回json格式的数据

JsonResponse(jsonData,content_type="application/json")

3、RestFramework框架封装的Response

它的返回格式为:

Response(data, status=None,template_name=None, header=None, content_type=None)

data:为python內建数据类型,DRF会使用render渲染器处理data

以上这篇对python中各个response的使用说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 使用Django和Python创建Json response的方法

    使用jQuery的.post提交,并期望得到多个数据,Python后台要使用json格式. 不指定datatype为json,让jquery自行判断数据类型.(注:跨域名请求数据,则使用 jsonp字符串) 若post指定数据类型json,则python取post数据,我觉着麻烦.让jquery智能判断,python返回字典最方便. 一般使用字典,而不是列表来返回 JSON内容. import json from django.http import HttpResponse response_

  • python 接口测试response返回数据对比的方法

    背景:之前写的接口测试一直没有支持无限嵌套对比key,上次testerhome逛论坛,有人分享了他的框架,看了一下,有些地方不合适我这边自己修改了一下,部署在jenkins上跑完效果还不错,拿出来分享一下.ps:还是要多看看别人写的,新学了不少python自带的一些常用方法. 这次直接上代码,下面写一下这次我新学一些方法和思路. def check_response_hope_key(self,response={},hope_response={}): temp_data={} for n1

  • python使用response.read()接收json数据的实例

    如下所示: import json result = response.read() result.decode('utf-8') jsonData = json.loads(result) 以上这篇python使用response.read()接收json数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 对python中各个response的使用说明

    Python django中我们经常用的response有django中的 JsonResponse, HttpResponse,还有DRF中的Response 在使用的时候,经常会不知道如何什么时候选择用哪个response 下面简单记录下这三个response的区别 1.HttpResponse 它的返回格式为:HttpResponse(content=响应体, content_type=响应体数据类型, status=状态码) 1)它可以返回普通文本信息 HttpResponse("哈哈哈

  • Python中turtle.write方法使用说明

    目录 turtle.write方法使用说明 例子 绘制一朵小花的例子 如何使用turtle.write方法将文字显示为一个圆圈? 总结 turtle.write方法使用说明 关于turtle可参见 Python的turtle模块:https://www.jb51.net/article/238830.htm turtle.write()方法 在当前乌龟位置写入文本.如: turtle.write("你好啊", align="center",font=("宋

  • Python中docx2txt库的使用说明

    docx2txt的Github地址 docx2txt是基于python的从docx文件中提取文本和图片的库. 代码是从python-docx中获取的.它也可以从页眉,页脚和超链接中提取文本.它现在也可以提取图像. 安装 pip install docx2txt 运行 1.命令行运行 # extract text docx2txt file.docx # extract text and images docx2txt -i /tmp/img_dir file.docx 2.在python中调用

  • 基于Python中request请求得到的response的属性问题

    Python中request请求得到的response,即通过request得到的数据: import requests response = requests.get(https://www.jd.com/) response 的属性 1.返回状态码 response.status_code http请求的返回状态,2XX 表示连接成功,3XX 表示跳转 ,4XX 客户端错误 , 500 服务器错误 2.返回http响应的文本内容 response.text http响应内容的字符串(str)

  • python中列表对象pop()方法的使用说明

    目录 列表对象pop()方法的使用 python中pop什么意思 举个例子 列表对象pop()方法的使用 pop() 方法用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值. 语法: verse.pop(index) //默认为 index=-1,删除最后一个列表verse的值. print("默认为 index=-1,删除最后一个列表值:",sentence.pop(-1),"\n") print("默认删除最后一个列表值: ",

  • python 异步async库的使用说明

    在学习asyncio之前,先理清楚同步/异步的概念: 同步是指完成事务的逻辑,先执行第一个事务,如果阻塞了,会一直等待,直到这个事务完成,再执行第二个事务,顺序执行 异步是和同步相对的,异步是指在处理调用这个事务的之后,不会等待这个事务的处理结果,直接处理第二个事务去了,通过状态.通知.回调来通知调用者处理结果 asyncio函数: 异步IO采用消息循环的模式,重复"读取消息-处理消息"的过程,也就是说异步IO模型"需要一个消息循环,在消息循环中,主线程不断地重复"

  • Python中http请求方法库汇总

    最近在使用python做接口测试,发现python中http请求方法有许多种,今天抽点时间把相关内容整理,分享给大家,具体内容如下所示: 一.python自带库----urllib2 python自带库urllib2使用的比较多,简单使用如下: import urllib2 response = urllib2.urlopen('http://localhost:8080/jenkins/api/json?pretty=true') print response.read() 简单的get请求

  • 在Python中定义和使用抽象类的方法

    像java一样python也可以定义一个抽象类. 在讲抽象类之前,先说下抽象方法的实现. 抽象方法是基类中定义的方法,但却没有任何实现.在java中,可以把方法申明成一个接口.而在python中实现一个抽象方法的简单的方法是: class Sheep(object): def get_size(self): raise NotImplementedError 任何从Sheep继承下来的子类必须实现get_size方法.否则就会产生一个错误.但这种实现方法有个缺点.定义的子类只有调用那个方法时才会

  • Python中使用urllib2模块编写爬虫的简单上手示例

    提起python做网络爬虫就不得不说到强大的组件urllib2.在python中正是使用urllib2这个组件来抓取网页的.urllib2是Python的一个获取URLs(Uniform Resource Locators)的组件.它以urlopen函数的形式提供了一个非常简单的接口.通过下面的代码简单感受一下urllib2的功能: import urllib2 response = urllib2.urlopen('http://www.baidu.com/') html = response

  • python中requests模块的使用方法

    本文实例讲述了python中requests模块的使用方法.分享给大家供大家参考.具体分析如下: 在HTTP相关处理中使用python是不必要的麻烦,这包括urllib2模块以巨大的复杂性代价获取综合性的功能.相比于urllib2,Kenneth Reitz的Requests模块更能简约的支持完整的简单用例. 简单的例子: 想象下我们试图使用get方法从http://example.test/获取资源并且查看返回代码,content-type头信息,还有response的主体内容.这件事无论使用

随机推荐