Basic HTTP request parameters support is provided in the CGI
module.
The recommended mechanism to handle form data is the cgi.FieldStorage
class.
To get at submitted form data, it’s best to use the FieldStorage
class. The other classes defined in this module are provided mostly for backward compatibility. Instantiate it exactly once, without arguments. This reads the form contents from standard input or the environment (depending on the value of various environment variables set according to the CGI standard). Since it may consume standard input, it should be instantiated only once.
The FieldStorage
instance can be indexed like a Python dictionary. It allows membership testing with the in operator, and also supports the standard dictionary method keys()
and the built-in function len()
. Form fields containing empty strings are ignored and do not appear in the dictionary; to keep such values, provide a true value for the optional keep_blank_values keyword parameter when creating the FieldStorage
instance.
For instance, the following code (which assumes that the Content-Type header and blank line have already been printed) checks that the fields name and addr are both set to a non-empty string:
form = cgi.FieldStorage()
if "name" not in form or "addr" not in form:
print "<H1>Error</H1>"
print "Please fill in the name and addr fields."
return
print "<p>name:", form["name"].value
print "<p>addr:", form["addr"].value
#...further form processing here...