📜  Web2py-简介

📅  最后修改于: 2020-10-17 05:15:32             🧑  作者: Mango


web2py被定义为一个免费的开放源代码Web框架,用于涉及数据库驱动的Web应用程序的敏捷开发;它是用Python编写的在Python编程。这是一个全栈框架;它包含所有必要的组件,开发人员需要构建一个功能全面的Web应用程序。

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

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

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

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

Web2py设备

  • web2py具有内置功能来管理cookie和会话。提交事务后(根据SQL),该会话也同时存储。

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

web2py –工作流程

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

工作流程

工作流程图如下所述。

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

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

  • 浏览器将HTTP请求发送到服务器,并且服务器与ModelControllerView交互以获取必要的输出。

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

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

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

  • 数据由View呈现。如果用户请求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”Controller

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

web2py中,URL映射有助于访问功能和模块。对于上面的示例,控制器包含一个称为雇员的单个函数(或“动作”)。

控制器执行的操作将返回字符串或Python字典,该字典或键是包含局部变量集的键和值的组合。

视图

View“ default / contacts.html”

{{extend 'layout.html'}}

Manage My Employees

{{=grid}}

对于给定的示例, View在关联的控制器函数执行后显示输出。

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

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

从web2py开始

对于Windows,UNIX和Mac OS X等所有主要操作系统, web2py均采用二进制软件包。

安装web2py很容易,因为-

  • 它包含Python解释器,因此您不需要预安装它。还有在所有操作系统上运行的源代码版本。

  • 以下链接包含web2py二进制软件包,可根据用户需要下载-www.web2py.com

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

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

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

Operating System Command
Unix and Linux (source distribution) python web2py.py
OS X (binary distribution) open web2py.app
Windows (binary web2py distribution) web2py.exe
Windows (source web2py distribution) c:/Python27/python.exe web2py.py