跳转到主要内容

为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 (12.0 kB 查看哈希)

上传时间

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面