hualinux dj3 2.0:api框架Django REST framework(drf)介绍

目录

一、为什么要用专业的api框架

二、Django REST framework介绍

 2.1 序列化和反序列化可以复用

2.2 特点

2.3核心任务

三、相关资料


前篇讲了使用django连接mysql8.0数据库。在前后端分离为主流的情况下,django转为json还是有点麻烦,还有其它功能。功能相对专业的rest api有点弱,比如没有 OAuth,jwt(Json web token),所以需要一个专业的api框架。

Django REST framework就是一个专业的api框架,看名字就知道是rest风格的。

一、为什么要用专业的api框架

使用专业的api框架可以得到更有针对性的功能。如OAuth、jwt(Json web token)、不用json就自动转化为json,省去了编写python数据转json的麻烦。

还是原来的一句老话:专业的人做专业的事。

二、Django REST framework介绍

Django REST framework 是一个强大且灵活的工具包,用于构建 Web API。为什么要用它,官网当如下说明:

  • Web 可浏览 API 对您的开发人员来说是一个巨大的可用性胜利。
  • 身份验证策略,包括 OAuth1a 和 OAuth2 的包。
  • 支持 ORM 和非 ORM 数据源的序列化。
  • 一直可自定义 - 如果您不需要更强大的功能,只需使用常规的基于函数的视图。
  • 广泛的文档和强大的社区支持。
  • 受到 Mozilla、Red Hat、Heroku 和 Eventbrite 等国际知名公司的使用和信任。

 2.1 序列化和反序列化可以复用

  • :效验请求数据>执行反序列化过程>保存数据库>将保存的对象序列化并返回
  • :判断要删除的数据是否存在.>执行数据库删除
  • :判断要修改的数据是否存在>效验请求的参数>执行反序列化过程>保存数据库>将保存的对象序列化并返回
  • :查询数据库>将数据序列化并返回

2.2 特点

1.提供了定义序列化器Serializer的方法,可以快速根据Django ORM 或者其他库自动序列化/反序列化
2.提供了丰富的类视图\MIXIN扩展类,简化视图的编写
3.丰富的定制层级:函数视图\类视图\试图结合到自动生成API,满足各种需要
4.多种身份认证和权限认证方式的支持
5.内置了限流系统
6.直观的API web界面
7.可扩展性 , 插件丰富

2.3核心任务

使用Django Rest framework的话,和之前使用Django时没多大差别,当然,更复杂的差别我也不知道

1.多了个serializers.py文件

 这个文件的作用是Serializers把querysets和model instances这些复杂的数据结构转化为native Python 以便于以json,xml或其它内容类型的形式render出去。

2. 视图的核心功能变了

  • 将数据库数据序列化为前端需要的格式,并返回
  • 将前端发送过来的数据反序列化为模型类对象,并保存到数据库中 

三、相关资料

Django Rest framework没有好的资料,官网文档就是一个不错的选择

你可能感兴趣的:(django3入门,hualinux,django,hualinux,dj,drf,django,drf,Django,REST,Django,REST框架)