Web2py - 教程
-
简述
web2py被定义为一个免费的开源 Web 框架,用于敏捷开发,涉及数据库驱动的 Web 应用程序。它是用 Python 编写和编程的。它是一个全栈框架,由开发人员构建功能齐全的 Web 应用程序所需的所有必要组件组成。本教程主要面向使用 Python 并需要创建可伸缩、安全和可移植的数据库驱动的基于 Web 的应用程序的软件专业人员。web2py 提供了使用浏览器从任何地方创建、修改、部署和管理应用程序的所有功能。在您开始学习本教程之前,我们假设您已经了解 Python 编程的基础知识。对模型-视图-控制器的基本了解也同样重要。如果您不太了解这些概念,那么我们建议您阅读我们关于 Python 的简短教程。与传统模式不同, web2py框架遵循运行 Web 应用程序的模型-视图-控制器模式。-
模型是包含数据逻辑的应用程序的一部分。模型中的对象用于从数据库中检索和存储数据。
-
视图是应用程序的一部分,有助于向最终用户呈现数据显示。数据的显示是从模型中获取的。
-
控制器是应用程序的一部分,它处理用户交互。控制器可以从视图中读取数据、控制用户输入并将输入数据发送到特定模型。
-
web2py具有管理 cookie 和会话的内置功能。提交事务后(就 SQL 而言),会话也会同时存储。
-
web2py具有在某些操作完成后按预定时间间隔运行任务的能力。这可以通过CRON来实现。
-
-
web2py——工作流程
看看下面给出的工作流程图。工作流程图如下所述。-
Models、Views和Controller组件组成了用户 web2py 应用程序。
-
多个应用程序可以托管在同一个 web2py 实例中。
-
浏览器向服务器发送 HTTP 请求,服务器与Model、Controller和View交互以获取必要的输出。
-
箭头表示与数据库引擎的通信。数据库查询可以用原始 SQL 或使用 web2py 数据库抽象层(将在后续章节中讨论)编写,因此web2py应用程序代码独立于任何数据库引擎。
-
Model与数据库建立数据库连接,并与Controller进行交互。另一方面,Controller 与 View 交互以呈现数据显示。
-
Dispatcher将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 映射有助于访问功能和模块。对于上面的示例,控制器包含一个名为 employees 的函数(或“操作”)。控制器采取的操作返回一个字符串或一个 Python 字典,它是键和值的组合,包括一组局部变量。看法
“default/contacts.html”是视图。{{extend 'layout.html'}} <h1>Manage My Employees</h1> {{=grid}}
对于给定的示例,View在执行关联的控制器功能后显示输出。这个View的目的是渲染字典中的变量,它是HTML的形式。View文件是用 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 -