Djang drf:APIView源码分析
Django REST framework 简介
在序列化与反序列化时,虽然操作的数据不尽相同,但是执行的过程却是相似的,也就是说这部分代码是可以复用简化编写的。 开发REST API的视图中,虽然每个视图具体操作的数据不同,但增、删、改、查的实现流程基本套路化,所以这部分代码也是可以复用简化编写的:增:校验请求数据 -> 执行反序列化过程 -> 保存数据库 -> 将保存的对象序列化并返回删:判断要删除的数据是否存在 -> 执行数据库删除改:判断要修改的数据是否存在 -> 校验请求的数据 -> 执行反序列化过程 -> 保存数据库 -> 将保存的对象序列化并返回查:查询数据库 -> 将数据序列化并返回Django REST framework可以帮助我们简化上述两部分的代码编写,大大提高REST API的开发速度。
认识 Django REST framework 框架
Django REST framework 框架是一个用于构建Web API 的强大而又灵活的工具。通常简称为DRF框架 或 REST framework。DRF框架是建立在Django框架基础之上,由Tom Christie大牛二次开发的开源项目。
Django REST framework特点:
提供了定义序列化器Serializer的方法;
可以快速根据 Django ORM 或者其它库自动序列化/反序列化;
提供了丰富的类视图、Mixin扩展类,简化视图的编写;
丰富的定制层级:函数视图、类视图、视图集合到自动生成 API,满足各种需要;
多种身份认证和权限认证方式的支持;
内置了限流系统;
直观的 API web 界面;
可扩展性,插件丰富
# 同样要写一个视图类括号内不是写view而是写APIView
# 在路由层第二个参数传as_view
# 由于视图类中没有as_view只能向父级寻找
# as_view最终还是dispatch方法,看看该方法中做哪些事情
# 将原生的request封装到Request中
# 看下原生的request怎么获取
# 我们在返回到dispatch中,将原生的request和视图类中其他数据封装到Request方法中后,走了initial方法
# initial这个方法主要是一次执行了认证、权限、频率等组件后,取到请求方法加括号执行,赋值给response,并返回
最新文章
- codeblocks16.01 中配置Opencv3 姿势
- Unity3D知识框架
- 【转】Java中try catch finally语句中含有return语句的执行情况(总结版)
- python socket
- 块级格式化上下文(block formatting context)、浮动和绝对定位的工作原理详解
- MySQL 5.7 深度解析: 半同步复制技术
- 直接拿来用!超实用的Java数组技巧攻略
- CPU informition
- 【MySQL】索引长度的一些限制
- Castle Windsor 使MVC Controller能够使用依赖注入
- JSplitPane详解
- flexbox 伸缩布局盒
- css初始化标签属性--源码
- 【转载】c++中堆、栈内存分配
- Javascript的原型继承,说清楚
- 从json-lib转成jackson的遇到的问题
- 使用 Zabbix 监控 Jenkins
- (转)tasklist命令参数应用详细图解
- Kafka实战-KafkaOffsetMonitor
- centOS7 修改DNS