Web2py简介


web2py 被定义为一个免费的开源Web开发框架,用于敏捷开发,涉及数据库驱动的Web应用程序; 它是用Python编写的,可以用Python编程。它是一个完整的堆栈框架; 它由所有必需的组件组成,开发人员需要构建一个功能完整的Web应用程序。

**与传统模式不同, web2py 框架遵循运行Web应用程序的 模型 - 视图 - 控制器** 模式。

  • 模型 是包含数据逻辑的应用程序的一部分。模型中的对象用于从数据库中检索和存储数据。

  • 视图 是应用程序的一部分,有助于向最终用户显示数据。数据的显示从模型中获取。

  • 控制器 是应用程序的一部分,它处理用户交互。控制器可以从视图中读取数据,控制用户输入并将输入数据发送到特定模型。

Web2py设备

  • web2py 具有管理cookie和会话的内置功能。在提交事务(按照SQL)之后,会话也同时存储。

  • web2py 具有在完成特定操作后按预定间隔运行任务的能力。这可以通过 CRON 来实现。

web2py - 工作流程

看看下面给出的工作流程图。

工作流程

工作流程图如下所述。

  • 模型视图控制器 组件组成了用户的web2py应用。

  • 可以在同一个web2py实例中托管多个应用程序。

  • 浏览器将HTTP请求发送到服务器,服务器与 模型控制器视图 交互以获取必要的输出。

  • 箭头表示与数据库引擎的通信。数据库查询可以用原始SQL或通过使用web2py数据库抽象层(将在后面的章节中讨论)编写,以便 web2py 应用程序代码独立于任何数据库引擎。

  • 模型 建立与数据库的数据库连接并与 控制器 交互。另一方面, 控制器视图 交互以呈现数据显示。

  • 所述 分派器 映射,如在控制器的函数调用HTTP响应给定所请求的URL。该函数的输出可以是一个字符串或一个哈希表。

  • 数据由 视图 呈现。如果用户请求HTML页面(默认),则数据将呈现为HTML页面。如果用户请求XML中的相同页面,则web2py会尝试查找可以使用XML呈现字典的视图。

  • 支持的web2py协议包括HTML,XML,JSON,RSS,CSV和RTF。

模型 - 视图 - 控制器

web2py 的 模型 - 视图 - 控制器 表示如下 -

模型

"db.py" is the model:
db = DAL('sqlite://storage.sqlite')
db.define_table(employee, Field('name'), Field(phone))

模型 包含应用程序数据的逻辑。它如上图所示连接到数据库。考虑使用SQLite并将其存储在 storage.sqlite 文件中,并将表定义为employee。如果该表不存在,web2py将通过创建相应的表来提供帮助。

调节器

程序 “default.py”控制器

def employees():
   grid = SQLFORM.grid(db.contact, user_signature = False)
   return locals()

web2py中 ,URL映射有助于访问功能和模块。对于上面的例子,Controller包含一个名为employees的函数(或“action”)。

Controller 采取的动作返回一个字符串或一个Python字典,它是包含一组局部变量的键和值的组合。

视图

“default / contacts.html”视图

{{extend 'layout.html'}}
<h1>Manage My Employees</h1>
{{=grid}}

对于给定的例子, View 在相关的控制器功能执行后显示输出。

视图 的目的是在字典中呈现HTML格式的变量。该 视图 文件是用HTML,但它嵌入Python代码的帮助下 {{和}} 分隔符。

嵌入到HTML中的代码由字典中的Python代码组成。

从web2py开始

web2py 包含所有主要操作系统(如Windows,UNIX和Mac OS X)的二进制包。

安装web2py很容易,因为 -

  • 它由Python解释器组成,所以你不需要预先安装它。还有一个在所有操作系统上运行的源代码版本。

  • 以下链接包含 web2py 的二进制包供用户根据需要下载 - www.web2py.com

  • 与其他框架不同, web2py 框架不需要预安装。用户需要下载zip文件并根据操作系统要求解压缩。

  • web2py的 框架是用Python编写的,它是不需要任何编译或复杂的安装运行一个完整的动态语言。

  • 它使用像Java或.net等其他编程语言的虚拟机,它可以透明地字节编译开发人员编写的源代码。

操作系统 命令
Unix和Linux(源码分发) python web2py.py
OS X(二进制分发) 打开web2py.app
Windows(二进制web2py分发) web2py.exe
Windows(源码web2py分发) c:/Python27/python.exe web2py.py