Django HttpResponse与JsonResponse对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django HttpResponse与JsonResponse对象相关的知识,希望对你有一定的参考价值。

一:HttpResponse对象介绍
  1. 前面一节课讲到的HttpRequest用于接受客户端发送到服务器的内容,封装成一个HttpRequest对象;
  2. 那么服务器视图函数在处理相关逻辑后,也需要返回给我们的客户端。
  3. HttpResponseBase或者它的子类就是返回给客户端的对象;而HttpResponse则是HttpResponseBase用得最多的子类;

二:HttpResponse常用属性

1. content:返回的内容。
2. status_code:返回的HTTP响应状态码。
3. content_type:返回的数据的MIME类型,默认为text/html。浏览器会根据这个属性,来显示数据。
                        如果是text/html,那么就会解析这个字符串,如果text/plain,那么就会显示一个纯文本。
                        常用的Content-Type如下:
        text/html(默认的,html文件)
        text/plain(纯文本)
        text/css(css文件)
        text/javascript(js文件)
        multipart/form-data(文件提交)
        application/json(json传输)
        application/xml(xml文件)
4. 设置请求头:response[‘X-Access-Token‘] = ‘xxxx‘。

三:HttpResponse案例代码1-返回文本

def index(request):
    content = "page 404"
    response = HttpResponse(content=content, content_type=‘text/plain‘, charset=‘utf-8‘)
    response.status_code = 404
    return response

技术图片


四:HttpResponse案例代码2-返回json

def index(request):
    content = ‘name‘: ‘huangjiajin‘, ‘age‘: 18
    content = json.dumps(content)
    response = HttpResponse(content=content, content_type=‘application/json‘)
    response.status_code = 200
    return response

技术图片


五:JsonResponse案例代码3-返回json

1. 案例

def index(request):
    content = ‘name‘: ‘huangjiajin‘, ‘age‘: 18, ‘class‘: ‘k02‘
    return JsonResponse(content)

技术图片


2. JsonResponse 讲解

可以点击进去看到JsonResponse也是继承了HttpResponse对象进行了二次封装
技术图片

以上是关于Django HttpResponse与JsonResponse对象的主要内容,如果未能解决你的问题,请参考以下文章

Django HttpResponse与JsonResponse

13-Django-基础篇-HttpResponse对象

django HttpResponse对象

django.http.response中HttpResponse 子类

Django HttpResponse

django HttpResponse对象