Lee E. Brown
Administrator at leebrown.org
Thu Nov 25 22:18:29 EST 2004
Greetings! In mod_python, form data is returned as a mapping type (dictionary) instead of a sequence type (tuple or list.) A very handy way to get the form data is to import the util module from mod python: from mod_python import util and then within your handler instantiate an object of the FieldStorage Class: def myhandler(req): ...(stuff)... formdata = util.FieldStorage(req) ...(stuff)... You can then get any of the form's values by name. Say your form is... <input name="age"... <input name="gender"... <input name="shoe_size"... ...you can then get all your form data from the formdata object: if formdata['gender'] == 'male': oddness_coefficient = formdata['age'] + formdata['shoe_size'] In my opinion, accessing your form data by name instead of by sequence offsets makes your code a LOT easier to read. I hope this is of some help. Best Regards, Lee E. Brown ----- Original Message ----- From: "Lukas Linhart" <almad at include.cz> To: <mod_python at modpython.org> Sent: Thursday, November 25, 2004 7:33 PM Subject: [mod_python] Form data handling (newbie question) Hello, I'm beginning with mod_python and using mod_python.publisher. I've programmed in php before and I'm used to handle large forms in way of arrays (tuples): <input name="in[0]" value="blabla" /> <input name="in[1] value="blabla" /> I generate form like this in php and then on next page handle it in very comfortable way. Well, I'm asking if there is any way to handle forms in mod_python like this? I expected to work it like this: def form_handler(req, *everyURIParams) but this don't work, as like this: def form_handler(req, in) or def form_handler(req.*in) I understand why it won't work (problably) and asking if there is any other way / workaround / more standard way. I'm very thankful for your help. Lukas "Almad" Linhart -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mm_cfg_has_not_been_edited_to_set_host_domains/pipermail/mod_python/attachments/20041125/ac75a066/attachment.html
|