DRF
中 request
和 response
的使用
- django
from django.http import HttpResponse,JsonResponse,HttpRequest from django.views import View class BooksView(View): def get(self,request): # View, request 使用的是 Django的类视图 return HttpRsopnse()
- DRF
from rest_framework.request import Request # 使用的不是Django原生的request from rest_framework.views import APIView # 使用的是rest_framework 的视图类 from rest_framework import Response
获取数据:
- 如果类视图继承的是reste_framework 的Views 时,这个时候使用的request的对象是rest_framework重新封装的request对象
- request.data 获取数据 json xml
- request.FILES 获取文件
- request.query_params 查询字符串
结果返回:
- Response(data, status=None, template_name=None, headers=None, content_type=None)
参数说明:
- data: 为响应准备的序列化处理后的数据;
- status: 状态码,默认200;
- template_name: 模板名称,如果使用HTMLRenderer 时需指明;
- headers: 用于存放响应头信息的字典;
- content_type: 响应数据的Content-Type,通常此参数无需传递,REST framework会根据前端所需类型数据来设置该参数。