理解
- Request
特点:
REST framework 提供了Parser解析器,会自动根据Content-Type指明的请求数据类型,解析为类字典对象保存到Request对象中
作用:
无论前端发送的哪种格式的数据,我们都可以以统一的方式(即,字典)读取数据
使用:
request.data 请求体数据
request.query_params 字符串(URL)
- Response
构造方式:
from rest_framework.response import Response
Response(data, status=None, template_name=None, headers=None, content_type=None)
注意点:
data
不能是复杂结构的数据,如Django的模型类对象,对于这样的数据我们可以使用Serializer
序列化器序列化处理后(转为了Python字典类型)再传递给data
参数
渲染规则:
1. 前端请求头Accept声明了,就什么都不用管,自动转换响应数据对应的格式
2. 如果前端请求中未进行Accept声明,则会采用默认方式处理响应数据,我们可以通过配置来修改默认响应格式:
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': ( # 默认响应渲染类
'rest_framework.renderers.JSONRenderer', # json渲染器
'rest_framework.renderers.BrowsableAPIRenderer', # 浏览API渲染器
)
}