Tue Jul 7 15:34:57 EDT 2009 I go into ~/apache/cgi-bin/ and create a folder 0707. I move into it and create two files: template.py, one. We developed a template: import cgi class Engine(object): def __init__(self): self.input = cgi.FieldStorage() def start(self): state = self.retrieveState() if state.isEmpty(): self.initializeState(state) else: self.updateState(state) self.reportState(state) self.saveState(state) self.getReadyforMoreInput() def retrieveState(self): return State() def initializeState(self, s): pass def updateState(self, s): pass def reportState(self, s): pass def saveState(self, s): pass def getReadyforMoreInput(self): pass class State(object): def isEmpty(self): return True And we started developing a driver: #!/usr/bin/python import template, random class Driver(template.Engine): def __init__(self): template.Engine.__init__(self) def retrieveState(self): # print self.input return template.State() def reportState(self, s): print"Content-type: text/html\n\n" print self.input a = Driver() a.start() I made the second program executable and called it: http://silo.cs.indiana.edu:44063/cgi-bin/0707/one http://silo.cs.indiana.edu:44063/cgi-bin/0707/one?team=pacers http://silo.cs.indiana.edu:44063/cgi-bin/0707/one?vegetable=eggplant&season=summer