sandbox / deform_ex.py

import colander, deform
import cherrypy

class Schema(colander.Schema):
	text = colander.SchemaNode(colander.String())

def page(formtext):
	return '<html><body>%s</body></html>' % formtext

class Server:
	@cherrypy.expose
	def index(self, **params):
		form = deform.Form(Schema(), buttons=('submit',))
		form['text'].widget = deform.widget.TextInputWidget(size=60)
		if params:
			try:
				data = form.validate(params.items())
			except deform.ValidationFailure, e:
				return page(e.render())
			return page('OK - your data was %s' % data)

		return page(form.render())

cherrypy.quickstart(Server())
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.