zeam.form的组合表单支持
zeam.form.composed的Python项目详细描述
此包允许您在 zeam.form.base。
内容
Example
这里有一个简单的例子。让我们定义一个设置表单:
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
Classes
- ComposedForm
- 此类定义一个可以包含其他表单的表单。它 行为类似于zeam.form.base表单,但确实使用其字段。 一个有用的方法可以返回给定的子窗体: getSubForm(identifier)。
- SubForm
此类表示包含在 ComposedForm。这种形式的行为就像 zeam.form.base要添加的表单:
- 一个方法available(),它在其他任何方法之前被调用 知道表单是否还应该包含在ComposedForm中。
- 一个方法getComposedForm(),它将返回 呈现此窗体的窗体。
- SubFormGroup
- 这个类允许将SubForm分组在一起。它们在 组模板,并以组名作为前缀。就像一个SubForm 它们有一个available()和一个getComposedForm()方法。它是 我们有一个getSubForm(identifier)方法。
Directives
所有这些指令都来自grokcore组件。请参考 有关详细信息,请参见Grok documentation。
- context
- 定义窗体/子窗体可用于哪个对象。
- layer
- 定义窗体/子窗体可用的外观。
- require
- 定义访问表单所需的权限。
- template
- 为表单定义一个类似grok的模板。你这么做之后 grok模板将被查找和使用。你不能再使用 megrok.pagetemplate模板,除非设置template=None 再次出现在您的窗体类中。
- view
- 在子窗体上,定义子窗体可用的窗体。
- order
- 允许您指定一个数字,以便随后使用 设置。
Changelog
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)
- 默认模板现在使用变色龙。
- 当组合的update调用update时,为所有子窗体调用update。 表单被调用。
1.0 (2010/05/03)
- 初次发布。