TypeError: iterable argument required

Mel mwilson at the-wire.com
Mon Apr 4 10:38:59 EDT 2011


Νικόλαος Κούρας wrote:
>> > iam getting the following error which i dont understand
>>>> > **************************************************************
>> > 163         # insert guest comments into database if form was
>> > submitted
>> >   164         if "@" in mail and comment not in ("Σχολιάστε ή ρωτήστε
>> > με σχετικά....", ""):
>> >   165                 try:
>> >   166                         cursor.execute( '''INSERT INTO
>> > users(mail, comment) VALUES(%s, %s)''', (mail, comment) )
>> > mail = None, comment = None
>>>> > TypeError: iterable argument required
>> >       args = ('iterable argument required',)
>>
> In my original question can you explain to me what the meaning of the
> following error is?
>> ********************************************
> mail = None, comment = None
> TypeError: iterable argument required
> args = ('iterable argument required',)
> *********************************************
>> Also i noticed that if i append a query string in the end of a url
> with the varibble mail attached like
>> http://superhost.gr/hosting.html?mail=test
>> then page hosting.html does load without any problem.
>> If i remove the query string from the ned of the URL then i'am getting
> the error message i posted.
>> So its not that the if condition is wrong but something happens with
> the form variable 'mail' .....

My wild guess is that the trouble is in `if "@" in mail` . You can only
test somthing `in` something if the second thing is iterable. So when
you don't supply a value via `?mail=' -- maybe the code that sets the
value of `mail` from the URL (code you don't show us) sets `mail=None`,
your server-side code blows up. Things would be simpler if you included
a traceback in your error logging.
	Mel.


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /