Django前后端分离实践之DRF--01

简介: 一、前后端分离优缺点wengwengyu_100cxy.com_20181006_011. 为什么要前后端分离PC,APP,PAD,微信公众号.

一、前后端分离优缺点

img_900660bc5dafec25370bea7dbfcee244.png
wengwengyu_100cxy.com_20181006_01

1. 为什么要前后端分离

  1. PC,APP,PAD,微信公众号...多端适应
  2. SPA开发模型开始流行(单页面) 后端提供API,前段展示
  3. 前后端开发职责不清(模板)
    • 模板到低是前端写还是后端写?如果前端写,前端就要懂后端模板语言
    • 如果后端写,那么后端就要懂前段html,css,js甚至更多更多
  4. 开发效率问题,前后端相互等待
    • 前端在写的时候,就希望后端全部写好自己再写
    • 后端在写的时候,就希望前端全部写好自己再写
  5. 前端一直配合着后端,能力受限(搞来搞去写静态页面,天天给后台写模板)
  6. 后台开发语言和模板高度耦合,导致开发语言依赖(一旦用python开发,以后要换成java或者其他语言)

2. 前后端分离缺点

  1. 前后端学习门槛增加(比如后台很多模板语法控制前端展示,但是分离以后,需要前端自己去实现,增加前端成本,对后台来说,后端要满足规范)
  2. 数据依赖导致文档重要性增加
    • 文档是否详细
    • 是否及时更新
    • 修改要及时通知其他端
  3. 前端工作量加大
  4. SEO的难度增加(都是AJAX,像一些初级爬虫全部挡在外面,比如一些搜索引擎,这样你的排名就不靠前了)
  5. 后端开发模式迁移增加成本

3. 拓展阅读

拓展阅读1

拓展阅读2

二、REST ful API

  • 简单的说,就是一个规范,就是一个标准,就是目前,前后端分离的最佳实践

1. 优点

  1. 轻量,直接通过http,不需要额外协议,post/get/put/delete操作
  2. 面向资源,一目了然,具有自解释性(简单来说比如我们有一个商品,商品就是资源,post商品就是提交商品,get商品就是获取商品...)
  3. 数据描述简单,一般通过json或者xml做数据通信

二、Django REST framework

1. Django REST framework 是什么?

img_37921ea75c0963589780cce91f1cc4f3.png
logo

2. 为什么要用Django REST framework

  1. 前后端分离的业务需要搭建API
  2. 基于Django 快速开发 Restful API


    img_413fd2cda43fff86da08afe76a60d268.png
    01

3. RESTful API 规范是什么?

  • GET(SELECT):从服务器取出资源(一项或多项)。
  • POST(CREATE):在服务器新建一个资源。
  • PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
  • PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
  • DELETE(DELETE):从服务器删除资源。
  • HEAD:获取资源的元数据。
  • OPTIONS:获取信息,关于资源的哪些属性是客户端可以改变的

4. 环境以及工具

1). PyCharm

2). Django (1.11+)

3). djangorestframeowrk (3.6+)

4). httpie (在命令行里面模拟http请求的客户端)

5. 一些文档资料

理解RESTful架构

RESTful API设计指南

HTTP状态码

Django REST framework官网

Django REST framework中文文档

目录
相关文章
|
2月前
|
Python API 网络架构
Django实践-10RESTful架构和DRF入门
Django实践-10RESTful架构和DRF入门
Django实践-10RESTful架构和DRF入门
|
2月前
|
中间件 程序员 开发工具
Django实践-08中间件的应用
Django实践-08中间件的应用
Django实践-08中间件的应用
|
28天前
|
存储 监控 调度
Django中的定时任务与后台任务队列的实践
【6月更文挑战第10天】在Django中实现定时任务和后台任务队列,可以使用Celery+Beat进行定时任务,Django Q处理后台任务。Celery配置包括设置Broker和Result Backend,创建Celery实例及任务。Django Q则涉及安装、配置ORM和创建任务。通过`async_task`将任务放入队列。注意性能、资源、安全和错误处理。使用时需考虑认证、输入验证、日志监控、部署策略和测试质量保障。
20 3
Django中的定时任务与后台任务队列的实践
|
17天前
|
安全 API 数据安全/隐私保护
Django REST framework安全实践:轻松实现认证、权限与限流功能
Django REST framework安全实践:轻松实现认证、权限与限流功能
|
17天前
|
JSON 前端开发 API
Django API开发实战:前后端分离、Restful风格与DRF序列化器详解
Django API开发实战:前后端分离、Restful风格与DRF序列化器详解
|
17天前
|
JSON 搜索推荐 数据库
Django REST framework数据展示技巧:分页、过滤与搜索的实用配置与实践
Django REST framework数据展示技巧:分页、过滤与搜索的实用配置与实践
|
1月前
|
中间件 数据库 数据安全/隐私保护
Django框架的深入探索与实践
本文介绍了Django,一个流行的Python Web框架,以其优雅设计和强大功能吸引开发者。Django遵循MVC模式,提供URL路由、模板引擎和ORM等核心组件,强调高效简洁的开发方式。文中详细阐述了Django的安装配置过程,核心组件包括URL路由、视图模板和模型ORM。此外,还探讨了Django的表单处理、用户认证、中间件和信号等进阶应用。Django凭借其不断发展的特性和全面的Web开发解决方案,持续受到开发者的青睐。【6月更文挑战第8天】
27 4
|
17天前
|
存储 安全 数据库
Django ORM深度游:探索多对一、一对一与多对多数据关系的奥秘与实践
Django ORM深度游:探索多对一、一对一与多对多数据关系的奥秘与实践
|
17天前
|
数据库 开发者 Python
Django ORM入门指南:从概念到实践,掌握模型创建、迁移与视图操作
Django ORM入门指南:从概念到实践,掌握模型创建、迁移与视图操作
|
2月前
|
测试技术 持续交付 Docker
Django中的自动化部署与持续集成实践
【4月更文挑战第15天】本文介绍了Django项目中自动化部署与持续集成的实践方法。自动化部署通过选择Ansible、Fabric或Docker等工具,编写部署脚本,配置持续集成工具(如Jenkins、GitLab CI),确保服务器环境一致,实现快速应用上线。持续集成则涉及配置版本控制系统,设置自动化构建和测试,编写全面的测试用例,集成代码质量检查工具,并配置通知机制,以提升代码质量和开发效率。这两者结合能有效提升项目的迭代速度和可靠性。