Automatically collect fields for a Zeam Form.
zeam.form.autofields is able to collect fields definition for your form. This enable you to create forms with a plugable list of fields.
You need first to define a group of fields. This will be just an interface:
>>> from zope.interface import Interface >>> class IReplyFields(Interface): ... pass
Now you can define groups of fields:
>>> from zeam.form import base, autofields >>> class ReplyInformation(autofields.AutoFields): ... autofields.group(IReplyFields) ... autofields.order(0) ... fields = base.Fields(base.Field('Comment')) >>> class ReplyBlogInformation(autofields.AutoFields): ... autofields.group(IReplyFields) ... autofields.order(10) ... fields = base.Fields(base.Field('Blog URL'))
And you will be able to use those fields on your form somewhere else:
>>> class ReplyForm(base.Form): ... fields = autofields.FieldsCollector(IReplyFields)
In addition to its API, zeam.form.autofields export the one of zeam.form.base.
- Base classes used to define a group of Fields to be included in a form.
- Directive used on AutoFields which select for which group you whish to provide the fields for. A group is just a plain zope interface, that will be given as parameter to the FieldsCollector.
- Directive used on AutoFields that will let you specify for which Form (or view) you whish to provide the fields for. This directive is not required, and default to IBrowserView.
- Optional directive which let decide in wich order the fields will included at the end.
- Property used to collect form Fields for you.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size zeam.form.autofields-1.0.1.tar.gz (5.6 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for zeam.form.autofields-1.0.1.tar.gz