[Web-SIG] Form field dictionaries

Simon Willison cs1spw at bath.ac.uk
Fri Oct 24 12:37:06 EDT 2003


Gregory Collins wrote:
>>I think this is adequately addressed in the FieldStorage starting with
>>Python 2.2 with getfirst() and getlist():
> 
> I agree, I think this is the appropriate solution; I'd rather see all
> the typechecking pushed down into the library function rather than
> being exposed to the programmer. If the argument I'm looking for
> doesn't make sense as a list then I wouldn't care if it was given
> twice; if I'm expecting something to be a list then I'd want it to be
> a list even if it were empty or singleton.

The vast majority of data sent from forms coems in as simple name/value 
pairs, which are crying out to be accessed from a dictionary. This is my 
problem with the current FieldStorage() class - it forces you to write 
code like this:

username = form.getfirst("username", "")

When code like this is far more intuitive:

username = form['username']

The extended syntax is there to deal with the very rare case of multiple 
dataa arriving for the same key. Is it really worth doubling the length 
of the code needed to access the form variables for the sake of a very 
rare edge case? This is why I'd prefer to find an alternative solution.

-- 
Simon Willison
Web development weblog: http://simon.incutio.com/




More information about the Web-SIG mailing list