#!/usr/bin/env python # show python where the web modules are import sys sys.path.append('../../../') sys.path.append('../') import web.error; web.error.enable() import web, web.database, web.database.object, os connection = web.database.connect( type="sqlite", database="../doc/src/lib/object-database-object-form.db" ) cursor = connection.cursor() person = web.database.object.Table("Person") person.addColumn( web.database.object.String( name="firstName", treatNullStringAsNone=False ) ) person.addColumn(web.database.object.String(name="surname")) person.addColumn( web.database.object.StringSelect( name="profession", options=[None, 'Developer', 'Web Developer'], displayNoneAs='Other' ) ) database = web.database.object.Database() database.addTable(person) database.init(cursor) if not database.tablesExist(): database.createTables() print "Created Table" form = database['Person'].form() print web.header() # Print the content-type information if len(web.cgi) > 1: # Assume form submitted form.populate(web.cgi) if form.valid(): print '%s

Go Back'%( '

Entry Added

' + form.frozen(), os.environ['SCRIPT_NAME'] ) entry = database['Person'].insert(all=form.dict()) else: print """

Error

There were some invalid fields. Please correct them.

%s"""%(form.html()) else: entries = '' entries += '' for row in database['Person'].values(): entries += ''%( row['firstName'], row['surname'], row['profession'] ) entries += '
FirstnameSurnameProfession
%s%s%s
' print "%s

Entries

%s

"%( '

Enter Data

'+form.html(), entries ) connection.commit()