grok的字段、小部件和约束
megrok.form的Python项目详细描述
form是一个helper包,它为grok提供了一些有用的字段、小部件和约束。
字段
- 电子邮件,一个带有默认约束的文本行字段
- html,使用z3c.widget.tiny的文本字段
- 文件,来自collective.namedfile
- 图片,来自collective.namedfile
- blobfile,来自collective.namedblobfile
- blobimage,来自collective.namedblobfile
小部件
megrok.form覆盖默认小部件:
- zope.interface.schema.date(使用zc.datetimewidget.widget.datewidget)
- zope.interface.schema.datetime(使用zc.datetime widget.widget.datetimewidget)
并为图像和文件添加新的小部件(来自collective.namedfile)。
验证器/约束
megrok.form添加约束:
- SSN
- 美国电话号码
- 国际电话号码
- 邮政编码
- 网址
- 电子邮件
安装
要在grok下使用megrok.form,只需将megrok.form安装为一个鸡蛋 包括ZCML。最好的方法是制作megrok.form 通过将应用程序添加到您的安装中,应用程序的依赖项需要 在setup.cfg中列出。如果使用grokprojet创建应用程序setup.cfg 位于项目根目录中。应该是这样的:
install_requires=['setuptools', 'grok', 'megrok.form', # Add extra requirements here ],
然后在configure.zcml中包含megrok.form。如果你用grokproject 在src/<;projectname>;/configure.zcml创建应用程序。添加 在grok的include行之后,但在 当前包。应该是这样的:
<include package="grok" /> <include package="megrok.form" /> <grok:grok package="." />
然后再次运行bin/buildout。现在您应该看到buildout这样说:
Getting distribution for 'megrok.form'. Got megrok.form 0.2.2.
就这些。
使用blob存储
要使用blob存储,您需要更改parts/zopectl/zope.conf中的zodb定义,如下所示:
<zodb> <blobstorage> <filestorage> path /path_to_your_app/parts/data/Data.fs </filestorage> blob-dir /path_to_your_app/parts/data/blobs </blobstorage> </zodb>
blob dir指定要存储blob的位置。