【Django学习笔记 - 16】:DRF概述、Web应用模式(前后端分离简介)

简介: 【Django学习笔记 - 16】:DRF概述、Web应用模式(前后端分离简介)

DRF概述


DRF主要用于前后端分离的项目


   全称Django REST Framework,简称DRF,事实上,DRF就是一套基于Django开发的,能够帮助我们更好的设计符合REST规范的web应用的一个Django App,所以,本质上来说DRF就是一个Django的App。


   REST是一种软件架构设计风格,并不是标准,也不是技术实现,它只是提供了一组设计原则和约束条件,是目前比较流行的API设计规范,用于web数据接口的设计。


例如网易云音乐的路径设计风格就是REST Framework设计风格。路径简洁,方便,快捷。

8a8417966d9d42b48f1bda4efdd8747c.png


Web应用模式


一、前后端不分离


36bfd7f0d22b4f5a98be4361f7a37f4f.png


   在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高。


   这种应用模式比较适合纯网页应用,但是当后端对接App时,App可能并不需要后端返回一个HTML网页,而仅仅是数据本身,所以后端原本返回网页的接口不再适用于前端App应用,为了对接App后端还需再开发一套接口。




二、前后端分离

f6bbe9c013aa4e6f90c516e577900d7f.png


   前端:即客户端,负责渲染用户显示界面(例如:WEB的js动态渲染页面,安卓,IOS,pc客户端等)


   后端:服务端,负责接收HTTP请求,处理数据


   前端以及后端就可以并行进行开发,二者之间的进度可以同时进行,而不需要等前端完成某一个功能之后才能实现后端,也不是需要等后端完成某一个功能之后才能去实现前端。


   API:Application Programming Interface 是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。


   在django中就是url。这个url对应的数据,前端需要数据就发送url,后端根据这个url返回结构化数据(如json)。


   前后端分离的过程: 前端通过HTTP请求API 后端以json形式返回前端需要的数据

   前端生成用户显示界面(如:html,ios,android)

   判断前后端分离的核心标准:显示页面是由谁(前端、后端)生成


   1.后端生成(前后端未分离) render(html)或flask中render_template


   2. 前端生成(前后端分离)


   前后端分离的优点:


   前后端各司其职,专注于解决一个方向的问题


   前端:视觉,兼容性,前端性能优化


   后端:并发,可用性,性能 前端和后端都易于扩展(耦合性低)


   后端能够灵活搭配各类型的前端,例如安卓,IOS等 提高用户体验 前后端可并行开发,大大加快了开发效率


   前后端分离的实现方式:


   1.Django后端返回json


   2.前端通过js向服务器发起ajax请求,获取数据,拿到数据后动态生成html


   3.前端服务和后端服务分开部署



相关文章
|
13天前
|
前端开发 安全 数据库
Web架构&前后端分离站&Docker容器站&集成软件站&建站分配
Web架构&前后端分离站&Docker容器站&集成软件站&建站分配
|
5天前
|
存储 数据安全/隐私保护 网络架构
DRF Django REST framework 之 认证组件(五)
DRF Django REST framework 之 认证组件(五)
|
4天前
|
存储 前端开发 JavaScript
探索Django:打造高效、可扩展的Web应用(中)
探索Django:打造高效、可扩展的Web应用(中)
7 1
|
6天前
|
JSON 前端开发 API
Django API开发实战:前后端分离、Restful风格与DRF序列化器详解
Django API开发实战:前后端分离、Restful风格与DRF序列化器详解
|
9天前
|
前端开发 JavaScript API
现代Web开发中的前后端分离架构
本篇文章探讨了前后端分离架构在现代Web开发中的应用与优势。
|
6天前
|
中间件 开发者 C++
Django中间件探索:揭秘中间件在Web应用中的守护角色与实战应用
Django中间件探索:揭秘中间件在Web应用中的守护角色与实战应用
|
6天前
|
前端开发 数据库 开发者
构建高效后端:Django框架在Web开发中的深度解析
**Django框架深度解析摘要** Django,Python的高级Web框架,以其快速开发和简洁设计备受青睐。核心特性包括Model-Template-View架构、ORM、模板引擎和URL路由。通过创建博客应用示例,展示从初始化项目、定义模型、创建视图和URL配置到使用模板的流程,体现Django如何简化开发,提高效率。其强大功能如用户认证、表单处理等,使Django成为复杂Web应用开发的首选。学习Django,提升Web开发效率。【6月更文挑战第24天】
39 1
|
4天前
|
SQL 关系型数据库 数据库
探索Django:打造高效、可扩展的Web应用(上)
探索Django:打造高效、可扩展的Web应用(上)
9 0
|
6天前
|
前端开发 数据库 Python
Django入门全攻略:从零搭建你的第一个Web项目
Django入门全攻略:从零搭建你的第一个Web项目
|
24天前
|
Linux 数据库管理 Python
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
137 4