TurboGears - 概述
什么是 Web 框架?
Web 应用程序框架或简称 Web 框架代表库和模块的集合,它使 Web 应用程序开发人员能够编写应用程序,而不必担心协议、线程管理等低级细节。
什么是 TurboGears?
TurboGears 是一个用 Python 编写的 Web 应用程序框架。 TurboGears 最初由 Kevin Dangoor 于 2005 年创建,其最新版本 TurboGears(版本 2.3.7)由 Mark Ramm 和 Florent Aide 领导的一组开发人员管理。
TurboGears 遵循模型-视图-控制器范式,大多数现代 Web 框架(如 Rails、Django、Struts 等)也是如此。
模型视图控制器
MVC 是一种用于开发 Web 应用程序的软件设计模式。模型视图控制器模式由三部分组成 −
模型 − 模式的最低级别负责维护数据。
视图 − 这负责向用户显示全部或部分数据。
控制器 −控制模型和视图之间交互的软件代码。
MVC 很受欢迎,因为它将应用程序逻辑与用户界面层隔离开来,并支持关注点分离。在这里,控制器接收应用程序的所有请求,然后与模型一起准备视图所需的任何数据。然后,视图使用控制器准备的数据生成最终可呈现的响应。MVC 抽象可以用图形表示如下 −
模型
模型负责管理应用程序的数据。它响应来自视图的请求,也响应来自控制器的指令来更新自身。
视图
以特定格式呈现数据,由控制器决定呈现数据而触发。它们是基于脚本的模板系统,非常容易与 AJAX 技术集成。
控制器
控制器负责响应用户输入并对数据模型对象执行交互。控制器接收输入,验证输入,然后执行修改数据模型状态的业务操作。
TurboGears 建立在许多库和工具之上。这些工具在 TurboGears 的不同版本之间有所变化。当前版本(版本 2.3.7)的组件如下所列。
SQLAlchemy
它是一个开源 SQL 工具包,为 Python 代码提供对象关系映射 (ORM)。
Genshi
此模板引擎用于构建 TG 应用程序的前端。Web 模板系统将模板与特定数据源相结合以呈现动态网页。
ToscaWidgets
它是一个小部件库,用于生成带有服务器端控件的 HTML 表单。Tosca 还充当与 JavaScript 小部件和工具包连接的中间件。
Gearbox
它提供了一组命令来管理项目和服务器 TurboGears 应用程序。 TurboGears 应用程序可以部署在任何符合 WSGI 标准的 Web 服务器上。
Web 服务器网关接口 (WSGI) 已被采纳为 Python Web 应用程序开发的标准。WSGI 是 Web 服务器和 Web 应用程序之间通用接口的规范。wsgiref 包是 WSGI 的参考实现。它用于向 Web TurboGears Web 框架添加 WSGI 支持。此包中的 simple_server 模块实现了一个简单的 HTTP 服务器,为 WSGI 应用程序提供服务。我们将使用它来测试在本教程中开发的应用程序。