Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Fields, Widgets and Constraints for Grok

Project Description

megrok.form is a helper package that provides some useful fields, widgets and constraints for Grok.


  • Email, a TextLine field with a default contraint
  • HTML, a Text field that uses z3c.widget.tiny
  • File, from collective.namedfile
  • Image, from collective.namedfile
  • BlobFile, from collective.namedblobfile
  • BlobImage, from collective.namedblobfile


megrok.form overrides the default widgets for:

  • zope.interface.schema.Date (using zc.datetimewidget.widget.DateWidget)
  • zope.interface.schema.Datetime (using zc.datetimewidget.widget.DatetimeWidget)

And add new widgets for Image and File (from collective.namedfile).

Validators / Constraints

megrok.form add constraints for:

  • SSN
  • US Phone Numbers
  • International Phone Numbers
  • Zip Code
  • URL
  • Email


To use megrok.form under Grok all you need is to install megrok.form as an egg and include it’s zcml. The best place to do this is to make megrok.form a dependency of your application by adding it to your install_requires list in setup.cfg. If you used grokprojet to create your application setup.cfg is located in the project root. It should look something like this:

                  # Add extra requirements here

Then include megrok.form in your configure.zcml. If you used grokproject to create your application it’s at src/<projectname>/configure.zcml. Add the include line after the include line for grok, but before the grokking of the current package. It should look something like this:

<include package="grok" />
<include package="megrok.form" />
<grok:grok package="." />

Then run bin/buildout again. You should now see buildout saying something like:

Getting distribution for 'megrok.form'.
Got megrok.form 0.2.2.

That’s all.

Using Blob Storage

To use blob storage you need to change zodb definition in your parts/zopectl/zope.conf like this:

      path /path_to_your_app/parts/data/Data.fs
    blob-dir /path_to_your_app/parts/data/blobs

The blob-dir specifies where you want to store blobs.


  • Dirceu Pereira Tiegs (dirceutiegs at gmail dot com)

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(20.9 kB) Copy SHA256 Hash SHA256
Egg 2.4 Apr 24, 2008
(9.9 kB) Copy SHA256 Hash SHA256
Source None Apr 24, 2008

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers