Web2py - 框架概述

web2py 是一个全栈 Web 框架,开发人员可以使用它来完整地开发 Web 应用程序。 它包括 SQL 数据库集成和用于设计程序的多线程 Web 服务器。

用于设计用户程序的Web界面

一旦按照操作系统执行命令,web2py 将显示一个启动窗口,然后显示一个 GUI 小部件,要求用户选择 −

  • 一次性管理员密码,
  • 用于网络服务器的网络接口的 IP 地址,
  • 以及用于处理请求的端口号。

管理员拥有添加和编辑任何新 Web 应用程序的所有权限。

默认情况下,web2py 在 127.0.0.1:8000(本地主机上的端口 8000)上运行其 Web 服务器,但用户可以根据要求在任何可用的 IP 地址和端口上运行它。

web2py GUI 小部件将显示如下。

GUI 小部件

该密码用于管理界面中以进行新模块中的任何更改。

用户设置管理密码后,web2py 将在具有以下 URL 的页面上启动 Web 浏览器 − http://127.0.0.1:8000/

框架的欢迎页面将显示如下所示。

框架

在 web2py 中设计基本程序

启动web2py应用程序后,通过上述URL,我们可以使用管理界面来创建新模块,例如"helloWorld"

管理界面将要求输入密码以进行身份验证,因为管理员拥有添加和编辑任何新 Web 应用程序的所有权限。

Web2py 应用程序

上面给出的快照包括页面详细信息,其中列出了所有已安装的 web2py 应用程序并允许管理员管理它们。 默认情况下,web2py 框架附带三个应用程序。 他们是 −

  • 一个管理应用程序,用户当前正在实施。

  • 一个示例应用程序,带有在线交互式文档和 web2py 官方网站的实例。

  • 一个欢迎应用程序。 它包括任何其他 web2py 应用程序的基本模板。 它也称为scaffolding应用程序。 该应用程序还在启动时欢迎用户。

让新应用程序的名称为"helloWorld"

创建新应用程序后,用户将被重定向到包含相应应用程序的视图、模型和控制器的页面。

编辑应用程序

用户可以通过提及以下 URL 来查看新创建的应用程序 − http://127.0.0.1:8000/helloWorld

默认情况下,用户点击上述 URL 即可查看以下屏幕。

为了打印给定 Web 应用程序 "helloWorld" 的消息,更改是在 default.py 控制器中进行的。

Web 应用程序

名为"index"的函数是返回值并显示必要输出的默认函数。 如上所述,字符串 "Hello World- 欢迎来到我的第一个 Web 应用程序" 用作返回值,它将在屏幕上显示输出。

输出显示如下 −

输出

回传

验证表单输入的机制很常见,但不被认为是一种很好的编程实践。 每次都会对输入进行验证,这对验证来说是一个负担。

web2py 中更好的模式是将表单提交到生成表单的同一操作。 这种机制称为"postback",这是web2py的主要功能。 简而言之,就是在postback中实现了自我提交。

def first():
   if request.vars.visitor_name: #if visitor name exists
      session.visitor_name = request.vars.visitor_name
      redirect(URL('second'))#postback is implemented
   return dict()

CRUD 应用

web2py 包括执行创建、检索、更新和删除功能的应用程序。 CRUD循环描述了数据库的基本功能,它是持久的。

所有应用程序逻辑都编写在模型中,由控制器检索并借助视图向用户显示。

应用程序管理

对于 PHP,应用程序服务器包括 phpmyadmin 下所有数据库的列表。 类似地,web2py 提供了一个用于管理、创建和删除表或数据库的接口,称为"appadmin"。

在实现表背后的逻辑之前,需要创建数据库及其关联表。

访问appadmin的URL −

http://127.0.0.1:8000/applicationname/appadmin

点击 URL 后,用户将获得与给定应用程序关联的表列表。

表列表

此接口不打算公开。 它旨在轻松访问数据库。 它由两个文件组成,即 − 控制器"appadmin.py"和视图"appadmin.html"

它一次最多可以对 100 条记录进行分页。 "appadmin"的用法将在后续章节中讨论。