Web2py 组件
一个组件被定义为网页的功能部分,可以自主地运行。它可以由嵌入在网页中的模块、控制器和视图组成。应用中的组件必须是本地化的标签,并且性能被认为是与模块无关的。
在web2py中,主要关注的是使用在页面加载并通过AJAX与组件控制器通信的组件。
web2py包括一个名为 LOAD 的函数,它使得实现组件变得容易,无需显式的JavaScript或AJAX编程。
考虑一个简单的网络应用程序,即名为” test “的应用程序,它在文件” models/db_comments.py “中扩展了web2py应用程序的自定义模型。
上述代码将创建一个名为“ comment_post ”的表,该表具有适当的表定义。该操作将通过“ controllers/comments.py ”中的函数实现。
对应的视图将如下显示 –
页面可以通过给定的URL进行访问: http://127.0.0.1:8000/test/comments/post
上述方法是访问视图的传统方式,可以通过实现LOAD函数来进行更改。
这可以通过创建一个不扩展布局的新视图来实现, “.load” 扩展名。
创建的新视图将是 “views/comments/post.load” −
访问该页面的URL将是− http://127.0.0.1:8000/test/comments/post.load
LOAD组件可以嵌入到web2py应用程序的任何其他页面中。可以通过使用以下语句来实现。
例如, 控制器 可以进行编辑,例如 −
在 视图 中,我们可以添加组件 –
该页面可通过以下URL访问: http://127.0.0.1:8000/test/default/index
组件插件
组件插件是唯一定义 组件 的插件。组件通过其模型定义直接访问数据库。
如前面的示例中所提到的,将评论组件命名为 comments_plugin 可以在 Models 部分完成。
” models/plugin_comments.py “-
控制器将包含以下插件−