请求与响应
请求
django ----> 请求对象----> request
drf中---> 请求对象----> 新的request---> drf的Request类的对象
drf的请求对象(一般数据存储位置)
-request.data # post请求数据 ---> body体中的数据
-request.query_params # get请求数据 ----> 地址栏中的数据
-request.FILES # 文件数据
-request.META # 请求头数据
# 控制前端传入的编码格式---》默认 :urlencoded,form-data,json
""""""""""""全局生效""""""""""""
-项目配置文件中加入( setting.py )
REST_FRAMEWORK = {
'DEFAULT_PARSER_CLASSES':[
'rest_framework.parsers.JSONParser', # 能够解析 json
'rest_framework.parsers.FormParser', # 能够解析 urlencoded
'rest_framework.parsers.MultiPartParser', #能够解析 form-data
],
}
# 局部生效---> 视图类中配置
from rest_framework.parsers import JSONParser
class BookView(APIView):
parser_classes = [JSONParser,]
响应
(1)django响应对象
render,HttpResponse,Redirect,JsonResponse---> 本质都是HttpResponse
(2)Response对象(响应参数)
-------最重要的三个-----
data=None, # 要序列化的数据,字典,列表,字符串
status=None, # http响应状态码
headers=None, # 响应头---》字典
template_name=None, # 模板名字---> 浏览器看的时候,看到好看的页面,postman看,纯json
content_type=None # 默认json格式,前后端分离项目,前端传用json,后端响应也用json格式
(3)响应数据展示(风格)
# 全局生效
-项目配置文件中加入
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES':[
'rest_framework.renderers.JSONRenderer', #json格式
'rest_framework.renderers.BrowsableAPIRenderer', #浏览器格式
],
}
# 局部生效---> 视图类中配置
from rest_framework.renderers import JSONRenderer,BrowsableAPIRenderer #导入
class BookView(APIView):
renderer_classes = [JSONRenderer,BrowsableAPIRenderer] #配置

浙公网安备 33010602011771号