1.python特点
Python具有代码简单、学习难度低、语法清楚、功能库丰富等优势,同样功能的代码,Python代码数量只有C或Java的1/5,甚至1/10。例:打印Hello World,C语言需要6行,Java需要5行,Python只需要1行。
2.python相关概念
第三方库:需要自行安装的库
python解释器:将源代码翻译成机器代码
python编辑器:IDLE、PyCharm、VsCode、Jupyter
3.Web应用模式drf
(1)前后端不分离
客户端看到的内容和所有界面效果都是由服务端提供出来的。
- 这种模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高。
- 这种应用模式比较适合 纯网页应用,但是当后端对接App时,App可能并不需要后端返回一个HTML网页,而仅仅是数据本身,所以后端原本返回网页的接口不再适用于前端App应用,为了对接App后端还需再开发一套接口。
特点
- http请求次数少
- 只需要一个后台服务器
- 前后端开发耦合,责任不明确
- 单纯开发网站,效率非常高
- 响应的往往是html的页面
- 分工
- 前端:负责写html、css、js
- 后端:需要控制数据的展示,负责渲染页面或重定向
- 实现方案:访问页面后,后端根据路由进行匹配视图函数,通过render等返回页面和数据,如:return render(request,'home.html',res)渲染页面。
(2)前后端分离
把前端的界面效果(html,css,js分离到另一个服务端,python服务端只需要返回数据即可)
前端形成一个独立的网站,服务端构成一个独立的网站
含义:前后端开发约定好接口文档(url、参数、数据类型等),独立开发,前端可mock数据进行测试,最后前后端集成,实现了前后端应用的解耦合。
- 在前后端分离的应用模式中,后端仅返回前端所需的数据,不再渲染HTML页面,不再控制前端的效果。至于前端用户看到什么效果,从后端请求的数据如何加载到前端中,都由前端自己决定,网页有网页的处理方式,App有App的处理方式,但无论哪种前端,所需的数据基本相同,后端仅需开发一套逻辑对外提供数据即可。
- 在前后端分离的应用模式中 ,前端与后端的耦合度相对较低。
- 在前后端分离的应用模式中,我们通常将后端开发的每个视图都称为一个接口,或者API,前端通过访问接口来对数据进行增删改查。
特点:
- 有静态文件服务器、后台的应用服务器
- 后台服务器只提供的接口的服务
- 前后端责任分工明确
- 一个后台即可满足网站、app、小程序等多种应用的需要
- 响应的往往是json的数据
- 分工:
- 前端:负责数据展示和用户交互
- 后端:负责提供数据处理接口
- 实现方案:
- 一般基于vue.js框架来编写前端页面,需要通过ajax形式向后端发送请求获取接口数据。后端接收到请求后,执行视图函数,将数据以json格式返回给前端。前端接收到数据后,渲染到页面。
前后端分离的优点:
- 彻底解放前端:前端不再需要向后台提供模板或是后台在前端html中嵌入后台代码
- 前后端可同时开发,完全独立,提升效率:前后端分离的工作流程可以使前端只关注前端的事,后台只关心后台的活,两者开发可以同时进行,在后台还没有时间提供接口的时候,前端可以先将数据写死或者调用本地的json文件即可,页面的增加和路由的修改也不必再去麻烦后台,开发更加灵活。
- json数据格式拓展性强
- 局部性能提升:通过前端路由的配置,我们可以实现页面的按需加载,无需一开始加载首页便加载网站的所有的资源,服务器也不再需要解析前端页面,在页面交互及用户体验上有所提升。
- 降低维护成本:通过MVC框架,我们可以非常快速的定位及发现问题的所在,客户端的问题不再需要后台人员参与及调试,代码重构及可维护性增强。