- Web2py 教程
- Web2py - 首页
- Web2py - 简介
- Web2py - Python 语言
- Web2py - 框架概述
- Web2py - 核心
- Web2py - 视图
- Web2py - 数据库抽象层
- Web2py - 表单 & 验证器
- Web2py - 邮件 & 短信
- Web2py - 访问控制
- Web2py - 服务
- Web2py - 添加 Ajax 效果
- Web2py - 组件
- Web2py - 部署
- Web2py - 安全
- Web2py 有用资源
- Web2py - 快速指南
- Web2py - 有用资源
- Web2py - 讨论
Web2py - 简介
web2py 定义为一个免费的、开源的用于敏捷开发的 Web 框架,涉及数据库驱动的 Web 应用程序;它使用 Python 编写,并可以用 Python 编程。它是一个全栈框架;它包含构建一个功能完备的 Web 应用程序所需的所有必要组件。
web2py 框架遵循 Web 应用程序运行的模型-视图-控制器模式,不同于传统模式。
模型是应用程序的一部分,其中包含数据逻辑。模型中的对象用于从数据库中检索和存储数据。
视图是应用程序的一部分,有助于将数据显示呈现给最终用户。数据显示是从模型中获取的。
控制器是应用程序的一部分,它处理用户交互。控制器可以从视图中读取数据,控制用户输入,并将输入数据发送到特定的模型。
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 映射有助于访问函数和模块。对于上述示例,控制器包含一个名为 employees 的单个函数(或“操作”)。
控制器采取的操作返回一个字符串或一个 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 编写的,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 |