0%

flask开发之前后端交互实践(一)

引言

我们知道flask内置了jinja2模板引擎用来渲染前端页面,但在企业合作开发中,我们一般不使用这种方式,原因如下

  1. 与前端合作困难。前端写完页面,你再去改,添加诸如{}这样的模板变量,你改完,前端还得要在那些模板变量基础上改,想想都觉得不应该采用这种方式
  2. 耦合较高,htmlflask渲染产生,内置了一些逻辑语句

这种方式一般适合个人全栈开发,也有很多优点

  1. seo友好,数据全在服务端渲染,数据就在页面中,方便seo优化
  2. 部署方便,没有跨域问题,前端模板和后端在一个域下面

前后端分离

在企业实践中,一般采用前后端分离的方式协作,前端写页面,同过ajax或者axioshttp库向服务端请求数据再渲染页面。

服务端只需要写api接口,把数据提供给前端。前后端交互的数据格式一般用json

目前常用的前端框架是 vue,angular,react,他们都是单页面框架。

vue为例,它只有一个html页面,你看到的页面变化之不过是不同的vue组件在切换

数据一般通过axios向后端请求。但问题在于,这样的html没有任何数据,不利于seo优化

解决的办法有很多,一种方式就是前端依然不使用这三大框架,而是手写html页面,这里面就包括了一些写死的数据,一些需要服务端提供的数据,通过ajax和服务端交互