I want to set up a simplistic HTML-form and process the entered data with a Pyton backend. I have composed the HTML- frontend and the Python server.
This is the website:
<html>
<head>
<style type="text/css">
  input:required:invalid, input:focus:invalid {
    background-image: url(invalid.png);
    background-position: right top;
    background-repeat: no-repeat;
  }
  input:required:valid {
    background-image: url(valid.png);
    background-position: right top;
    background-repeat: no-repeat;
  }
</head>
</style>
    <body>
        <form action="http://localhost:8080/" method="post" name="myForm" >
        <label>Name 1: </label> <input type="text" name="name1" value="Person 1" required/> <input type="number" size="6" name="exp1" min="0" max="9999" value="20" step="0.01" required/><br>
        <label>Name 2: </label> <input type="text" name="name2" value="Person 2" required/> <input type="number" size="6" name="exp2" min="0" max="9999" value="60" step="0.01" required/><br>
        <label>Name 3: </label> <input type="text" name="name3" value="Person 3" required/> <input type="number" size="6" name="exp3" min="0" max="9999" value="30" step="0.01" required/><br>
        <input type="submit" value="Submit"/> <br><br><br>
        </form>
    </body>
</html>
The 'server'-part looks like this:
from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
import cgi
class Server(BaseHTTPRequestHandler):
    def _set_headers(self):
        self.send_response(200)
        self.send_header('Content-type', 'text/html')
        self.end_headers()
    def do_GET(self):
        self.wfile.write("<html><body><h1>GET!</h1></body></html>")
    def do_HEAD(self):
        self._set_headers()
    def do_POST(self):
        # No posted data received?!
        formData = cgi.FieldStorage()
        # this leads to an error: 
        #form = web.input(name="myForm")
        self.wfile.write("<html><body><h1>POST!</h1></body></html>")
def run(server_class=HTTPServer, handler_class=Server, port=8080):
    server_address = ('', port)
    httpd = server_class(server_address, handler_class)
    print 'Starting httpd...'
    httpd.serve_forever()
if __name__ == "__main__":
    run()
When I click the submit-button, I reach the do_POST-method (I'm running the server inside a Eclipse-PyDev debugger), so the server is reachable. But I don't get any data from the form, neither in plaintext nor json or xml. Where is my mistake?
