Django高级进阶[DRF](1. 简介
2018-11-13 本文已影响0人
錦魚
前后端分离优缺点
image.png为什么要前后端分离
- PC,APP,PAD,微信公众号... 多端适应
- SPA开发模型开始流行(单页面) 后端 提供API ,前段展示
- 前后端 开发职责不清 (模板)
- 模板到低是前端写还是后端写?如果前端写,前端就要懂后端模板语言
- 如果后端写,那么后端就要懂前段html,css,js甚至更多更多
- 开发效率 问题,前后端相互等待
- 前端在写的时候,就希望后端全部写好自己再写
- 后端在写的时候,就希望前端全部写好自己再写
- 前端一直配合着后端,能力受限(搞来搞去写静态页面,天天给后台写模板)
- 后台开发语言和模板高度耦合,导致 开发语言依赖 (一旦用python开发,以后要换成java或者其他语言)
前后端分离缺点
前后端 学习门槛增加 (比如后台很多模板语法控制前端展示,但是分离以后,需要前端自己去实现,增加前端成本,对后台来说,后端要满足规范)
数据依赖 导致文档重要性增加
- 文档是否详细
- 是否及时更新
- 修改要及时通知其他端
前端工作量加大
SEO的难度增加 (都是AJAX,像一些初级爬虫全部挡在外面,比如一些搜索引擎,这样你的排名就不靠前了)
后端开发模式 迁移增加成本
REST ful API
- 简单的说,就是一个规范,就是一个标准,就是目前,前后端分离的最佳实践
优点
- 轻量 ,直接通过http,不需要额外协议,post/get/put/delete操作
- 面向资源 ,一目了然,具有自解释性(简单来说比如我们有一个商品,商品就是资源,post商品就是提交商品,get商品就是获取商品...)
- 数据描述简单 ,一般通过 json或者xml做数据通信
Django REST framework
为什么要用Django REST framework
- 前后端分离的业务需要搭建API
基于Django 快速开发 Restful API
image.png
RESTful API 规范是什么?
- GET(SELECT):从服务器取出资源(一项或多项)。
- POST(CREATE):在服务器新建一个资源。
- PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
- PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
- DELETE(DELETE):从服务器删除资源。
- HEAD:获取资源的元数据。
- OPTIONS:获取信息,关于资源的哪些属性是客户端可以改变的
环境以及工具
1). PyCharm
2). Django (1.11+)
3). djangorestframeowrk (3.6+)
4). httpie (在命令行里面模拟http请求的客户端)
一些文档资料
理解RESTful架构
RESTful API设计指南
HTTP状态码
Django REST framework官网
Django REST framework中文文档