Web2py 框架概述
web2py是一个完整的堆栈式Web框架,开发者可以使用它来完全开发一个Web应用程序。它包括SQL数据库集成和多线程Web服务器,用于设计程序。
用于设计用户程序的Web界面
一旦根据操作系统执行命令,web2py会显示一个启动窗口,然后显示一个GUI小部件,询问用户要选择的内容−
- 一次性管理员密码,
- 要用于Web服务器的网络接口的IP地址,
- 以及用于提供请求的端口号。
管理员具有添加和编辑任何新Web应用程序的所有权限。
默认情况下,web2py在 127.0.0.1:8000 (本地主机上的8000端口)上运行其Web服务器,但用户可以根据需求在任何可用的IP地址和端口上运行它。
下面显示web2py GUI小部件的外观。
密码用于管理界面上对新模块进行任何更改。
用户设置完管理密码后,web2py会在以下URL页面启动Web浏览器: http://127.0.0.1:8000/
框架的欢迎页面将显示如下:
在web2py中设计基本程序
启动web2py应用程序后,通过上述URL,我们可以使用管理界面创建一个新的模块,例如, “helloWorld” 。
管理界面会要求输入密码进行身份验证,因为管理员拥有添加和编辑任何新的web应用程序的权限。
上面的快照包含了页面详细信息,列出了所有已安装的web2py应用程序,并允许管理员对其进行管理。默认情况下,web2py框架带有三个应用程序。它们是:
- 一个 admin 应用程序,用户目前正在实现。
-
一个 examples 应用程序,提供在线交互式文档和web2py官方网站的实例。
-
一个 welcome 应用程序。它包含了其他任何web2py应用程序的基本模板。它也被称为 scaffolding application 。该应用程序还在启动时向用户致以欢迎。
让新应用程序的名称为 “helloWorld” 。
一旦创建了新应用程序,用户将被重定向到一个包含相应应用程序的视图、模型和控制器的页面。
用户可以通过以下URL查看新创建的应用程序− http://127.0.0.1:8000/helloWorld
默认情况下,用户打开上述URL时会看到以下屏幕。
要打印给定Web应用程序的信息 “helloWorld” ,需修改 default.py 控制器。
名为 “index” 的函数是默认函数,用于返回值和显示必要的输出。如上所述,字符串 “Hello World- Welcome to my first web application” 用作返回值,将输出显示在屏幕上。
输出显示如下:
postback
验证表单输入的机制是非常常见的,但并不被认为是良好的编程实践。每次都要验证输入,这对验证来说是一种负担。
在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循环描述了数据库的基本功能,它是持久的。
所有的应用逻辑都写在模型中,控制器检索模型并通过视图显示给用户。
appadmin
对于PHP,应用服务器包含了phpmyadmin下所有数据库的列表。类似地,web2py提供了一个用于管理、创建和删除表或数据库的接口,被称为“appadmin”。
在实施表的逻辑之前,必须创建数据库及其相关表。
访问appadmin的URL是 http://127.0.0.1:8000/applicationname/appadmin
访问此URL后,用户将获取给定应用程序关联的表列表。
这个接口不是为了公开使用而设计的。它旨在方便地访问数据库。它由两个文件组成,分别是一个控制器 “appadmin.py” 和一个视图 “appadmin.html” 。
它可以一次分页显示最多100条记录。关于 “appadmin” 的使用将在后续章节中讨论。