前后端分离
和 前后端不分离
在开发Web应用中,有两种应用模式:
- 前后端不分离
- 前后端分离
Django
框架为例:
前后端不分离
前后端不分离数据渲染是在 后端 进行渲染的,用户请求后端的服务器,通过模板进行渲染,重定向到前端页面
用户请求:后端服务
请求 --><a href="/books/"> 图书 </a>
后端操作:
- 定义应用路由。匹配首页请求
- 定义类方法,将渲染后的模板文件返回
渲染:通过后端人员书写的后端的模板语言将数据渲染给前端
return render(request, 'index.html', context)
后端人员工作:
- 完成数据库的增删改查工作
- 需要进行模板代码的编写,进行数据渲染的操作
- 分工明确,提高工作效率
- 前后端人员各自完成自己的工作
- 屏蔽设备之间的差异性【PC端、手机端】
- 不是前后端分离开发的话,我们需要书写两套模板文件,由后端人员完成
前后端分离
数据渲染是在前端进行渲染的,用户请求静态文件的服务器,将静态文件返回到浏览器,浏览器运行js
向后端服务器请求数据,服务器将数据以json
类型响应给js
,由js
完成前端的代码加载渲染操作用户请求:前端服务
请求静态页面 -->
<a href='book.html'> 图书 </a>
两个服务器:
静态页面服务器 eg:127.0.0.1:8080
应用服务器 --> django服务器 eg:127.0.0.1:8000
return JsonRespon(context)
后端人员工作:只需要完成数据库的增删该查
页面显示效果是由前端人员完成的
只需要将需要的数据返回给前端,由前端人员去处理
不敢什么设备,后端开发人员只需要书写一套代码,前端人员分别书写PC端、移动端的页面
需要前端发送ajax请求,请求后端数据
后端开发的每个试图都称为一个接口,或者API,前端通过访问接口来对数据进行增删改查。