web2py被定义为一个用于敏捷开发的免费开源Web框架,涉及数据库驱动的Web应用程序; 它是用Python编写的,可以用Python编程。它是一个全栈框架; 它由所有必要的组件组成,开发人员需要创建一个功能齐全的Web应用程序。
模型是包含数据逻辑的应用程序的一部分。模型中的对象用于从数据库检索和存储数据。
View是应用程序的一部分,有助于将数据显示给最终用户。数据的显示从模型中获取。
控制器是应用程序的一部分,用于处理用户交互。控制器可以从视图中读取数据,控制用户输入,并将输入数据发送到特定型号。
web2py具有内置功能来管理Cookie和会话。提交事物(以SQL为准)后,会话也同时存储。
web2py具有在完成某些操作后按计划的间隔运行任务的能力。这可以用CRON来实现。
看下面给出的工作流程图。
模型,视图和控制器组件组成了用户的web2py应用。
多个应用程序可以托管在web2py的同一个实例中。
浏览器将HTTP请求发送到服务器,并且服务器与Model,Controller和View进行交互以获取必要的输出。
箭头表示与数据库引擎的通信。数据库查询可以用原始SQL或使用web2py数据库抽象层(将在后面的章节中探讨)来编写,以便web2py应用程序代码与任何数据库引擎无关。
模型建立与数据库的数据库连接并与控制器进行交互。所述控制器在另一方面与交互视图来呈现数据的显示。
分派器映射,如在控制器的函数调用HTTP响应给定所请求的URL。函数的输出可以是字符string或散列表。
数据由View呈现。如果用户请求HTML页面(默认值),数据将呈现为HTML页面。如果用户使用XML请求相同的页面,web2py会尝试查找可以以XML格式呈现字典的视图。
web2py 的模型视图控制器表示如下:
")的虚拟机,它可以透明地字节编译开发人员编写的源代码。
任何操作系统中的基本Python程序都以标题开头。程序以.py扩展名和Python命令存储,用于运行程序。 web2py中的数据库和测试功能它是一种称为SQLDesigner的软件,可帮助制作web2py模型并生成相应的代码。下面给出了一些截图 - SQLDesigner有助于以简单的方式维护表的关系,并在给定应用程序的模型中生成相应的代码。 功能测试包括测试组件或整个系统的功能。它可以基于需求和业务流程。 web2py附带一个模块gluon.contrib.webclient,它可以在远程和本地web2py应用程序中进行功能测试。它基本上是为了了解web2py会话和回发。 它需要的是导入包,以便功能测试将在给定的模块上实现。 在前几章中,有关各种工具的web2py实现的完整信息。开发Web2py应用程序的主要关注点包括从用户角度来看的安全性。
开放的Web应用程序安全项目(OWASP)是一个社区,它列出了Web应用程序的安全漏洞。 关于OWASP,有关Web应用程序的问题以及web2py如何克服这些问题,将在下面探讨。 它也被称为XSS。每当应用程序接收用户提供的数据并将其发送到用户的浏览器而不进行编码或验证内容时,就会发生这种情况。攻击者使用跨侧脚本来执行脚本来注入蠕虫和病毒。 web2py的有助于防止XSS通过防止在所呈现的所有变量视图。 有时,应用程序会泄漏关于内部运行,隐私和配置的信息。攻击者利用这一点来破坏敏感数据,这可能导致严重的攻击。 web2py通过票务系统防止这种情况。它记录所有的错误,并且发票给正在注册错误的用户。这些错误只能由管理员访问。 在wb2py中,URL映射到模块和函数,而不是给定的文件。它还包括一个机制,它指定哪些函数是公开的,哪些是私有的。这有助于解决问题。 |