请求 Request
REST framework 传入视图的request对象不再是Django默认的HttpRequest对象,而是REST framework提供的扩展了HttpRequest类的Request类的对象
常用属性
request.data: 存放的是原来request.body中的所有数据request.FILES:接受的文件request.query_params: 与Django标准的request.GET相同,只是更换了更正确的名称而已, 也可以直接使用request.GET
配置解析的请求编码格式
全局配置
# 在 settings.py 文件中配置REST_FRAMEWORK = {'DEFAULT_PARSER_CLASSES': ['rest_framework.parsers.JSONParser', # 能够解析json'rest_framework.parsers.FormParser', # 能够解析urlencoded urlencoded'rest_framework.parsers.MultiPartParser', # 能够解析form-data]}
局部配置
parser_classes
from rest_framework.parsers import JSONParser,FormParser,MultiPartParser# 在视图类中配置parser_classes = [FormParser, ]
响应 Response
常用属性
response.data:响应的字典response.status:HTTP响应状态码- DRF内部提供了一套完整的状态码response.template_name:模板名字(一般不会修改,默认即可)response.headers:响应头,是一个字典response.content_type:响应的编码方式(默认是JSON格式,无需改动)response.content:经过render之后的响应数据
配置响应的编码格式
全局配置
# 在 settings.py 文件中进行配置REST_FRAMEWORK = {'DEFAULT_RENDERER_CLASSES': ( # 默认响应渲染类'rest_framework.renderers.JSONRenderer', # json渲染器'rest_framework.renderers.BrowsableAPIRenderer', # 浏览API渲染器)}
局部配置
renderer_classes
from rest_framework.renderers import JSONRenderer,BrowsableAPIRenderer# 在视图类中配置renderer_classes=[JSONRenderer, ]
