Web2py 框架概述

Web2py 框架概述

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

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

一旦根据操作系统执行命令,web2py会显示一个启动窗口,然后显示一个GUI小部件,询问用户要选择的内容−

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

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

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

下面显示web2py GUI小部件的外观。

Web2py 框架概述

密码用于管理界面上对新模块进行任何更改。

用户设置完管理密码后,web2py会在以下URL页面启动Web浏览器: http://127.0.0.1:8000/

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

Web2py 框架概述

在web2py中设计基本程序

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

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

Web2py 框架概述

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

  • 一个 admin 应用程序,用户目前正在实现。

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

  • 一个 welcome 应用程序。它包含了其他任何web2py应用程序的基本模板。它也被称为 scaffolding application 。该应用程序还在启动时向用户致以欢迎。

让新应用程序的名称为 “helloWorld”

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

Web2py 框架概述

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

默认情况下,用户打开上述URL时会看到以下屏幕。

要打印给定Web应用程序的信息 “helloWorld” ,需修改 default.py 控制器。

Web2py 框架概述

名为 “index” 的函数是默认函数,用于返回值和显示必要的输出。如上所述,字符串 “Hello World- Welcome to my first web application” 用作返回值,将输出显示在屏幕上。

输出显示如下:

Web2py 框架概述

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后,用户将获取给定应用程序关联的表列表。

Web2py 框架概述

这个接口不是为了公开使用而设计的。它旨在方便地访问数据库。它由两个文件组成,分别是一个控制器 “appadmin.py” 和一个视图 “appadmin.html

它可以一次分页显示最多100条记录。关于 “appadmin” 的使用将在后续章节中讨论。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程