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对象)