前后端分离开发模式

前后端分离前:前端页面看到的效果都是由后端控制,即后端渲染HTML页面,前端与后端的耦合度很高。

前后端分离前存在的问题:

  • PC、APP、Pad等多端流行

  • 前后端开发职责不清晰:各司其职,最大程度减少开发难度,方便协作

  • 开发效率问题,一般后端开发需先等前端页面准备好,有时前端也一直配 合后端,能力受限

  • 前后端代码混在一起,日积月累,维护成本增加

  • 后端开发语言和模板耦合

前后端分离后:后端仅返回前端所需要的数据,不再渲染HTML页面,不再 控制前端的效果,至于前端展示什么效果,都由前端自己决定。

认识RestFulAPI

什么是RestfulAPI:

  • REST(Representational State Transfer,表征状态转移)是一种Web服务的软件架构风格。 描述网络中客户端与服务端的一种交互方式,它本身不常用,常用的是如何设计RestfulAPI (REST风格的网络接口)

  • RestfulAPI风格就是把所有的数据都当做资源,对表的操作就是对资源操作

  • 资源就是指的URL,基于URL对资源操作,Web服务在URL上支持一系列请求方法,如下表所 示。

示例:

非REST的URL:http://ip/get_user?id=123

REST的URL:http://ip/user/123

回顾Django开发模式

Django REST Framework初探

Django REST framework (简称:DRF)是一个强大而灵活的Web API 工具。 遵循RESTFullAPI风格,功能完善,可快速开发API平台。

官网文档:https:// www.django-rest-framework.org

Django REST framework 最新版使用要求:

  • Python(3.6、3.7、3.8、3.9、3.10)

  • Django(2.2、3.0、3.1、3.2、4.0)

安装:

pip install djangorestframework

添加rest_framework到INSTALLED_APPS设置中:

INSTALLED_APPS = [ 
...
'rest_framework',
]

示例:实现用户增删改查

步骤:

一、创建APP

python manage.py startapp myapp_api

二、定义数据模型并同步数据库

python manage.py makemigrations 
python manage.py migrate

三、编写序列化器文件

myapp_api/serializers.py

四、编写视图

五、添加API路由

devops/urls.py

myapp_api/urls.py

上图是访问/myapp_api/api/地址获得。

这是DRF自带的API调试系统,结果显示自动注册路由的API 地址,可通过这个地址完成用户信息数据的增删改查:

增、查:http://127.0.0.1:8000/myapp_api/api/user/

删、改:http://127.0.0.1:8000/myapp_api/api/user/2/