python 前后端分离

1. 前后端分离

1.1 什么是前后端分离

前端:即客户端,负责渲染用户显示界面【如web的js动态渲染页面,安卓,iOS,pc客户端等】

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

API:Application Programming Interface 是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。 在django中就是url。这个url对应的数据,前端需要数据就发送url,后端根据这个url返回结构化数据(如json)。

前后端分离 完整过程

1. 前端通过HTTP请求API
2. 后端以json形式返回前端需要的数据
3. 前端生成用户显示界面【如html,ios,android】

判断前后端分离的核心标准:

谁生成显示页面

1. 后端生成【前后端未分离】例:flask->render_template  django->render(html)
2. 前端生成【前后端分离】

1.2 前后端分离的优点

  1. 各司其职,更专注于解决一个方向的问题

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

    后端:并发,可用性,性能

    并发(大量的请求过来会不会产生资源资源竞争的问题,一个大量的并发问题都在于资源竞争)

  2. 解耦

    前端和后端均易于扩展

  3. 后端灵活搭配各类前端-如安卓等

  4. 提高用户体验

  5. 前端+后端可完全并行开发,加快开发速率

1.3 分离常见问题

问题答案
如何解决HTTP无状态?(HTTP是无状态协议,不会记住你是否之前访问过这个网站,不使用cookie和session)采用token(面向计算型的一种方式,去解决状态问题)(无论是客户端还是iOS,android)
如果前端为js,如何解决跨域问题?(ip,端口,协议一项不同就是跨域)采用CORS跨域方案。全称叫跨站资源共享
如何解决csrf问题?(没有cookie)采用token
Single Page WebApplication(前端非常牛,spa应用,单页面应用,整个过程全拿js做跳转,体验贼好,全是异步刷新)是否会影响Search Engine Optimization(seo搜索引擎优化)效果会,前后端分离后,往往页面不存在静态文字【如新闻的详细内容】
“老板,这个逻辑到底是上前端做还是后端做啊” (有些功能前后端都可以实现)底线原则:数据校验需要前后端都做
“老板,前端工作压力太大了啊”团队协作不能只是嘴上说说
动静分离和前后端分离是一个意思吗?动静分离指的是:css/js/img这类静态资源跟服务器拆开部署。典型方案:静态资源交由CDN(内容网络分发,就近返回)厂商处理(蓝汛 网宿 阿里CDN)

1.4 具体实现方式

  1. Django/Flask 后端只返回json
  2. 前端-> ex:js向服务器发出ajax请求,获取数据,拿到数据后动态生成html
  3. 前端服务和后端服务 分开部署
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本门课程重实战,将基础知识拆解到项目里,让你在项目情境里学知识。 这样的学习方式能让你保持兴趣、充满动力,时刻知道学的东西能用在哪、能怎么用。 平时不明白的知识点,放在项目里去理解就恍然大悟了。   一、融汇贯通 本视频采用了前后端分离的开发模式,前端使用Vue.js+Element UI实现了Web页面的呈现,后端使用Python 的Django框架实现了数据访问的接口,前端通过Axios访问后端接口获得数据。在学习完本章节后,真正理解前后端的各自承担的工作。   二、贴近实战 本系列课程为练手项目实战:学生管理系统v4.0的开发,项目包含了如下几个内容:项目的总体介绍、基本功能的演示、Vuejs的初始化、Element UI的使用、在Django中实现针对数据的增删改查的接口、在Vuejs中实现前端增删改查的调用、实现文件的上传、实现表格的分页、实现导出数据到Excel、实现通过Excel导入数据、实现针对表格的批量化操作等等,所有的功能都通过演示完成、贴近了实战   三、课程亮点 在本案例中,最大的亮点在于前后端做了分离,真正理解前后端的各自承担的工作。前端如何和后端交互   适合人群: 1、有Python语言基础、web前端基础,想要深入学习Python Web框架的朋友; 2、有Django基础,但是想学习企业级项目实战的朋友; 3、有MySQL数据库基础的朋友  

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值