drf 请求、渲染、解析、异常、响应模块

复习

"""
1、请求模块:drf的request是对wsgi的request二次封装,且完全兼容,拓展query_params和data两个属性
	request._request
	request._request = request
	request.query_params = request._request.GET
	request.data(form-data,urlencoded,json)
	
	
2、渲染模块:可以全局和局部配置渲染方式
	renderer_classes = []
	DEFAULT_RENDERER_CLASSES: []

3、解析模块:可以全局和局部配置能解析的数据包
	parser_classes = []
	DEFAULT_PAARSER_CLASSES: []

4、异常模块:自定义异常模块,可以自定义异常返回以及提供记录异常的接口(这里接口的意思就是该需求后期可以在这里添加)
	'EXCEPTION_HANDLER': 'api.utils.exception_handler',
	
	from rest_framework.views import exception_handler as drf_exception_handler
	def exception_handler(exc, context):
		response = drf_exception_handler(exc, context)
		if respose is None:
			return Response(自己处理) 	# 服务器错误 500
		return response  # drf处理的,客户端错误 4xx
		
5、响应模块:知道response对象产生可以传那些信息,response对象又是如何访问这些信息的
	Response(data={}, status=status.HTTP_200_OK, headers={})
"""

知识点总结

"""
1、新建django项目、注册drf、设置国际化、配置数据库(修改数据库操作模块)、自定义Model类(设置文件类型字段和选项字段)、配置media及开放media资源接口
2、继承Serializer类的基础序列化类,可以将对象序列化成前台所需数据
3、继承Serializer类的基础反序列化类,可以指定一系列前台提供的数据的校验规则,确保数据安全
4、重点掌握整合序列化与反序列为一体的继承ModelSerializer类的序列化类
	设置序列化与反序列化字段,并进行区分
	提供自定义序列化字段以及自定义反序列化字段
	设置系统校验规则、局部钩子校验规则与全局钩子校验规则
"""

A作业(必做)

"""
1、整理今天所学知识点

2、新建一个django项目,定义一个Car类,有name字符串属性,color整型选择属性(0:银色,1:黑色,2:红色,3:灰色),price全精度小数类型,image图片文件类型,brand字符串类型

3、基于ModelSerializer类,完成Car资源的单查,群查,单增接口
	序列化:显示车名,车的颜色,车的价格,车的海报,车的品牌
	反序列化:必须提供车名,车的价格,车的品牌(车的匹配需要二次确认re_brand),车的颜色默认为银色(可以提供),车的海报不需要提供(默认为空)
"""

B作业(选做)

"""
1、定义Book与Author两个Model类
	Book:id,name,price
	Author:id,name,phone
	Book和Author关系表:id,book_id,author_id
	
2、只完成Author表的单查群查接口:查看作者的姓名和电话即可

3、只完成Book表的单查群查接口:查看书名、书的价格、书的作者们(作者包含作者姓名,作者电话)
核心提示:利用自定义插拔序列化字段完成连表查询
"""
posted @ 2019-12-03 09:38  Micheal_L  阅读(151)  评论(0)    收藏  举报