Handling empty form fields in CGI
Peter Otten
__peter__ at web.de
Fri Jan 26 13:19:15 EST 2007
Christopher Mocock wrote:
> Bit of a python newbie so need a little help with a CGI script I'm
> trying to write. I've got it working fine as long as the fields of the
> form are filled in correctly, however I need to be able to accept blank
> entries. Therefore I want to convert any empty entries to an empty string.
>
> For example, if I call the following CGI script as:
>
> http://localhost/cgi-bin/test.cgi?myfield=hello
>
> ...it prints hello in the browser. But if I call it as:
>
> http://localhost/cgi-bin/test.cgi?myfield=
>
> I get an exception. I want it to treat myfield as an empty string and
> not throw an exception.
>
> Any suggestions?
You can catch the exception:
def test():
try:
value = form["myfield"].value
except KeyError:
value = ""
print value
or use form.getlist("myfield") and then check the length of the returned
list of values.
With both options you also have to decide what to do when 'myfield' is given
twice:
http://localhost/cgi-bin/test.cgi?myfield=42&myfield=24
Peter
More information about the Python-list
mailing list