为zeam.form提供复合表单支持
项目描述
此包允许您在 zeam.form.base 中定义包含其他表单的表单。
示例
这里有一个简单的示例。让我们定义一个设置表单
from zeam.form import composed, base from zope.interface import Interface class Setting(composed.ComposedForm): composed.context(Interface) label = u"Settings"
然后,一个模块可以在该屏幕上添加一些邮件设置
class MailSetting(composed.SubForm): composed.context(MyApplication) composed.view(Setting) composed.order(99) label = u"Mail delivery settings" ...
并且该应用程序的发布可以添加一些发布设置
class PublicationSetting(composed.SubForm): composed.context(MyPublications) composed.view(Setting) composed.order(10) label = u"Publication settings" ...
还包括一些默认模板,但您可以像在 zeam.form.base 中那样替换它们。
API
类
- ComposedForm
此类定义了一个可以包含其他表单的表单。它表现得像 zeam.form.base 表单,但不使用其字段。一个有用的方法可以返回给定的子表单: getSubForm(identifier)。
- SubForm
此类代表一个包含在 ComposedForm 中的表单。此表单的行为与您添加的 zeam.form.base 表单完全相同。
一个方法 available(),在执行其他操作之前调用,以确定表单是否应该包含在 ComposedForm 中。
一个方法 getComposedForm(),返回一个包含该表单的复合表单。
- SubFormGroup
此类允许您将 SubForm 组合在一起。它们在组模板中渲染,并以前缀的组名开头。和 SubForm 一样,它们都有一个 available() 和一个 getComposedForm() 方法。它还有一个 getSubForm(identifier) 方法。
指令
所有这些指令都来自 Grokcore 组件。有关更多信息,请参阅 Grok 文档。
- 上下文
定义表单/子表单可用的对象。
- 层
定义表单/子表单可用的皮肤。
- 要求
定义访问表单所需的权限。
- 模板
定义一个类似于 Grok 的模板用于表单。完成此操作后,Grok 模板将被查找并使用。您不能再使用 megrok.pagetemplate 模板,除非您再次在表单类中设置 template=None。
- 视图
在子表单上,定义子表单可用的表单。
- 顺序
允许您指定一个数字,之后使用该设置对子表单进行排序。
变更日志
1.3.3 (2019/01/15)
GTK 软件包的更新版本。
1.3.2 (2012/05/02)
更新到最新的 grokcore.component。
1.3.1 (2012/04/27)
现在使用 grokcore.chameleon 而不是 megrok.chameleon。
1.3 (2011/11/08)
修复了各种愚蠢的错误。
修复执行动作后的可用性问题。
正确支持 zeam.form.base 1.2(操作返回执行操作的子表单)。
更新测试。
1.2 (2010/10/19)
添加了组的概念:在复合表单中的子表单可以与它们一起分组:它们作为子表单的复合表单,以及复合表单的子表单。
更新默认模板以反映 zeam.form.base 的更改。
1.1 (2010/07/16)
默认模板现在使用 Chameleon。
在调用复合表单的更新时,为所有子表单调用 update。
1.0 (2010/05/03)
首次发布。
项目详情
zeam.form.composed-1.3.3.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 833a9912b1e95d94b5623182ee3d38e8ceb6ad0ea482d8b99070a1c9f19eac1e |
|
MD5 | 4b53fc55d7dd2ef32e2eeb9811495a97 |
|
BLAKE2b-256 | bccaba362d3a28e0c2f9bf0e3b3aaa74f1777a40e18dcdbcdf826a6751e1b5f8 |