请求与响应

请求

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]		#配置
posted @ 2023-04-04 21:56  codegjj  阅读(6)  评论(0)    收藏  举报