drf
web应用模式
前后端结合---->后端 模板语法
后端人员 写后端也要写模板语法 (bbs、图书管理系统)
用户在浏览器上发送请求,后端接收到请求拿到前端传过来的数据 去数据库中查询、操作、
处理后的结果填入HTML模板 将pyhton代码替换成纯粹的html、css、js返回给浏览器
浏览器将处理完之后的HTML展示给用户看
前后端结合的核心就是模板
优势:
提高SEO速度 提高搜索引擎收录检索速度
页面都是渲染好直接返回的 可以提高SEO的速度
劣势:
业务耦合较强
从事前后端结合的开发者需要懂数据库、框架、模板、项目较大则需要多人协作
职责划分不明确
前后端结合 所有业务、代码、逻辑在一起 容易造成混乱 开发者们层次、风格不统一
开发成本高
现在不止web还有ios端、安卓端等各种app 前后端不分离就需要开发多套后端
服务器压力大
页面的渲染本应该在客户端完成 但是现在都是在服务端渲染好了以后返回给用户看 高并发时 会占用大量内存
前后端分离---->web后端 前端框架(vue、react)
后端人员 不需要写前端 只写接口
数据渲染的工作在客户端浏览器 不需要服务器完成 服务端专注于提供数据
Djngo框架就不需要返回一个模板页面 而是返回json格式的数据
json格式可以在多种语言中支持 这个过程也叫序列化
优势:
部署解耦
前后端分离部署压力较小 可以分离业务 后端宕机时 前端也可以正常服务
业务划分清晰 指责更明确
后端人员只需要写接口 从数据库体悟数据进行逻辑处理返回给前端即可
前端人员写渲染、样式即可分工明确
开发成本低一个后台可以支持多套前端渲染
一般来说 一套接口写好 业务相同情况下 可以在多个app端pc端进行渲染展示 不需要额外开发多套
劣势:
SEO优化较差 需要引入一些页面静态手段
页面数据的渲染你需要花费时间 数据不是直接渲染好返回给用户的 可能出现白屏并且影响搜索引擎爬虫的检索收录
API接口
API接口也就是所谓的应用程序接口, API接口的全称是Application Program Interface,通过API接口可以实现计算机软件之间的相互通信 开发人员可以通过API接口程序开发应用程序 可以减少编写无用程序 减轻编程任务 API同时也是一种中间件 为不同平台提供数据共享 根据单个或分布式平台上不同软件应用程序间的数据的共享性
API接口:就是前后端交互的媒介
-url地址:https://api.map.baidu.com/place/v2/search
-请求方式:get,post,delete,put。。。。
-请求参数:json格式的key-value类型数据
-早些年 前后端交互使用xml格式---->ajax:异步JavaScript和XML
-后来,随着json格式的出现,成了主流,直到现在
-以后:一定会出现,比json更高效的交互格式,更安全
-响应结果:json格式的数据
接口测试工具postman
作为后端 写好了接口 我们要自己先测试 通过了再给别人用
测试工具:
浏览器只能发送get请求 不能自动发送post、delete请求
==postman== 开源软件 一开始是谷歌的插件 越做越好 后来可以安装在操作系统上 现在 收费
==postwoman== 不收费
postman:
官网:https://www.postman.com/downloads/?utm_source=postman-home 根据系统选择版本 下载好以后 个人使用不用注册 直接点最下方跳过即可
首页:
发送请求:
1.打开postman 点击+新建一个请求页
2.在请求的URL中输入请求地址:
3.点击Sent按钮 这是就可以在下面的窗口看到服务器传过来的json格式的数据