web2py被定义为一个免费的,开放源代码的Web框架,用于敏捷开发,其中涉及数据库驱动的Web应用程序;它是用Python编写的,并且可以用Python编程。这是一个全栈框架。它包含所有必要的组件,开发人员需要构建一个功能全面的Web应用程序。
与传统模式不同,web2py框架遵循运行Web应用程序的“模型-视图-控制器”模式。
- 模型是应用程序的一部分,其中包括数据逻辑。模型中的对象用于从数据库检索和存储数据。
- 视图是应用程序的一部分,它有助于向最终用户呈现数据显示。数据的显示是从模型中获取的。
- 控制器是应用程序的一部分,用于处理用户交互。控制器可以从视图中读取数据,控制用户输入,并将输入数据发送到特定模型。
- web2py具有内置功能来管理cookie和会话。提交事务后(根据SQL),该会话也同时存储。
- web2py具有在完成某些操作后按计划的间隔运行任务的能力。这可以通过CRON来实现。
web2py –工作流程
看一下下面给出的工作流程图。
工作流程图如下所述。
- 该模型,视图和控制器组件组成了用户的web2py应用。
- 可以在web2py的同一实例中托管多个应用程序。
- 浏览器将HTTP请求发送到服务器,并且服务器与Model,Controller和View交互以获取必要的输出。
- 箭头表示与数据库引擎的通信。数据库查询可以用原始SQL编写,也可以使用web2py数据库抽象层(将在以后的章节中进行讨论)编写,以便web2py应用程序代码独立于任何数据库引擎。
- 模型建立与数据库的数据库连接并与Controller进行交互。另一方面,控制器与视图交互以呈现数据显示。
- 所述分派器映射所请求的URL,如在控制器的函数调用HTTP响应给出。该函数的输出可以是字符串或哈希表。
- 数据由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可以通过创建相应的表来提供帮助。
Controller
程序“ default.py”是Controller。
def employees(): grid = SQLFORM.grid(db.contact, user_signature = False) return locals()
在web2py中,URL映射有助于访问功能和模块。对于上面的示例,控制器包含一个称为雇员的单个功能(或“动作”)。
控制器执行的操作将返回字符串或Python字典,该字典或键是包含局部变量集的键和值的组合。
View – 视图
View是“ default / contacts.html”。
{{extend 'layout.html'}} <h1>Manage My Employees</h1> {{=grid}}
对于给定的示例,View在关联的控制器功能执行后显示输出。
该视图的目的是在字典中呈现HTML形式的变量。该视图文件是用HTML,但它嵌入Python代码的帮助下{{和}}分隔符。
嵌入HTML的代码由字典中的Python代码组成。
从web2py开始
对于Windows,UNIX和Mac OS X等所有主要操作系统,web2py均采用二进制软件包。
安装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 |
作者:terry,如若转载,请注明出处:https://www.web176.com/web2py/900.html