通过本章开发在线中文字符识别系统实训以了解DjangoREST项目,体会前后端分离开发的思想并掌握基本开发流程。
01
RESTful概述
RESTful架构风格最初由RoyT.Fielding(HTTP/1.1协议专家组负责人)在其年的博士学位论文中提出。HTTP就是该架构风格的一个典型应用。从其诞生之日开始,它就因其可扩展性和简单性受到越来越多的架构师和开发者们的青睐。一方面,随着云计算和移动计算的兴起,许多企业愿意在互联网上共享自己的数据和功能;另一方面,在企业中,RESTfulAPI也逐渐受到重视。时至今日,RESTful架构风格已成为企业级服务的标配。REST即RepresentationalStateTransfer的缩写,译为“表现层状态转化”。REST最大的几个特点为:资源、统一接口、URI和无状态。所谓“资源”,就是网络上的一个实体,或者说是网络上的一个具体信息,它可以是一段文本、一张图片、一首歌曲等。资源通过某种载体反应其内容,文本可以用txt格式表现,也可以用HTML格式或XML格式表现,甚至可以采用二进制格式;图片可以用JPG格式表现,也可以用PNG格式表现;JSON是现在最常用的资源表示格式。
在前面的企业门户网站实战项目中,为了能够动态的显示页面内容,使用了Django提供的模板机制,即在前端HTML页面中嵌入了大量的Django模板标签,这些标签并不是HTML的标签,而是需要通过后台Django服务器对这些标签进行解析再返回页面内容给前端。尽管利用Django模板标签,可以使得后端开发人员比较方便的对前端页面内容进行控制,但是这种处理方式导致各个模板文件不再是纯粹的HTML页面,而是嵌入了一堆浏览器无法直接识别的模板标签,前端设计人员在不熟悉Django的情况下无法对这些内容进行设计和修改。目前,很多大型Web项目的开发往往是采用一种前后端分离的合作方式,前端设计人员专注于页面和交互功能的实现,通过HTML、CSS和JS即可在浏览器端进行设计并且查看效果。后端开发人员仅处理前端发来的各种请求,并返回各请求对应的内容即可,其中后端开发人员不再需要