标签:led 工具包 返回 需求 支持 加载 前后端分离 相同 instance
使用Django Rest Framework之前我们要先知道,它是什么,能干什么用?
Django Rest Framework 是一个强大且灵活的工具包,用以构建Web API
为什么要使用Rest Framework
Django REST Framework可以在Django的基础上迅速实现API,并且自身还带有WEB的测试页面,可以方便的测试自己的API
1. 前后端不分离
在前后端不分离的引用模式中,前端页面看到的效果都是由后端控制的,由后端页面渲染或者重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高,这种模式比较适合纯网页应用,但是后端对接APP时,App可能并不需要后端返回一个HTML网页,二仅仅是数据本身,所以后端原本返回网页的接口不在适用前端APP应用,为了对接APP后端嗨需再开发一套接口。
这个可以看我之前写的DJango博客就可以知道,每次返回时都是使用render 或者redirect来返回的,需要带上HTML页面和参数
2. 前后端分离
在前后端分离的应用模式中,后端仅返回前端所需要的数据,不再渲染HTML页面,不再控制前端的效果,只要前端用户看到什么效果,从后端请求的数据如何加载到前端中,都由前端自己决定,网页有网页自己的处理方式,APP有APP的处理方式,但无论哪种前端所需要的数据基本相同,后端仅需开发一套逻辑对外提供数据即可,在前后端分离的应用模式中,前端与后端的耦合度相对较低
在前后端分离的应用模式中,我们通常将后端开发的每一视图都成为一个接口,或者API,前端通过访问接口来对数据进行增删改查
如果项目的需求是后一种情况的话,那么就可以用到Django Rest Framework了
序列化和反序列化可以复用
增: 效验请求数据>执行反序列化过程>保存数据库>将保存的对象序列化并返回
删: 判断要删除的数据是否存在.>执行数据库删除
改: 判断要修改的数据是否存在>效验请求的参数>执行反序列化过程>保存数据库>将保存的对象序列化并返回
查: 查询数据库>将数据序列化并返回
特点:
1. 提供了定义序列化器Serializer的方法,可以快速根据Django ORM 或者其他库自动序列化/反序列化
2. 提供了丰富的类视图\MIXIN扩展类,简化视图的编写
3. 丰富的定制层级:函数视图\类视图\试图结合到自动生成API,满足各种需要
4. 多种身份认证和权限认证方式的支持
5. 内置了限流系统
6. 直观的API web界面
7. 可扩展性 , 插件丰富
使用Django Rest framework的话,和之前使用Django时没多大差别,当然,更复杂的差别我也不知道
1. 多了个serializers.py文件
这个文件的作用是Serializers把querysets和model instances这些复杂的数据结构转化为native Python 以便于以json,xml或其它内容类型的形式render出去。
2. 视图的核心功能变了
1. 将数据库数据序列化为前端需要的格式,并返回
2. 将前端发送过来的数据反序列化为模型类对象,并保存到数据库中
1. 新建Django项目
新建 Rframork django项目 和 app01
pip install djangorestframework 安装DRF
2. 配置 Rest framework
1. settings.py
在INSTALLED_APPS中加入我们的项目名和rest_framework,因为我是直接新建了一个文件夹,并不是在以有其它项目的情况下新建项目,所以我们的项目名他自己创建好了,只需要加41行就可以
添加数据库配置,我使用的是MySQL
2. models.py
3. serializers.py
这个文件并没有,需要我们自己新建,在app01 项目下要新建两个文件,一个是urls.py, 另一个是serializers.py
4. 主容器urls.py
5. 项目的urls.py
6. views.py
7. mysql插曲人数据
8. 准备完毕,启动项目
9. url拼接
2、Django Rest Framework简介及初步使用
标签:led 工具包 返回 需求 支持 加载 前后端分离 相同 instance
原文地址:https://www.cnblogs.com/edeny/p/10237866.html