Web2py 介绍

Web2py 介绍

web2py 被定义为一个免费、开源的敏捷开发网络框架,用于构建基于数据库的网络应用;它使用Python编写,并可进行Python编程。它是一个全套框架;它包含了开发者构建一个完全功能的网络应用所需的所有组件。

web2py 框架遵循运行网络应用的 模型-视图-控制器 模式,而不是传统的模式。

  • 模型 是应用的一部分,包括处理数据的逻辑。模型中的对象用于从数据库中检索和存储数据。

  • 视图 是应用的一部分,用于将数据呈现给最终用户。显示的数据从模型中获取。

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

Web2py 介绍

  • web2py 具有内置功能来管理Cookies和会话。在提交事务(以SQL术语)后,会话同时也会被存储。

  • web2py 在完成某些操作后,有能力按计划间隔运行任务。这可以通过 CRON 实现。

web2py – 工作流程

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

Web2py 介绍

下面是工作流程图的描述。

  • ModelsViewsController 组件组成了用户web2py应用程序。

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

  • 浏览器向服务器发送HTTP请求,服务器与 ModelControllerView 交互以获取所需的输出。

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

  • Model 与数据库建立连接,并与 Controller 进行交互。另一方面, ControllerView 进行交互以呈现数据的显示。

  • Dispatcher 将HTTP响应中给定的请求URL映射到控制器中的函数调用。函数的输出可以是字符串或哈希表。

  • 数据由 View 呈现。如果用户请求的是HTML页面(默认情况),则数据将呈现为HTML页面。如果用户以XML形式请求相同的页面,web2py会尝试查找能够将字典呈现为XML的视图。

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

Model-View-Controller(模型-视图-控制器)

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

Model(模型)

"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映射有助于访问函数和模块。对于上述示例,控制器包含一个名为”employees”的单个函数(或”action”)。

由控制器执行的 action 返回一个字符串或Python字典,其中包含一组键和值,包括一组本地变量。

视图

“default/contacts.html视图

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

对于给定的例子, 视图 在执行相关的控制器函数后显示输出结果。

这个 视图 的目的是以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(二进制分发) open web2py.app
Windows(二进制web2py分发) web2py.exe
Windows(源码web2py分发) c:/Python27/python.exe web2py.py

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程