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