GET() takes exactly 2 arguments (1 given)

1,029 views
Skip to first unread message

murat bilal

unread,
Apr 27, 2012, 3:00:39 PM4/27/12
to web.py
Hi Everyone,

I am new to web.py and read this tutorial http://webpy.org/docs/0.3/tutorial

My code is
#!/usr/bin/env python
import web
render = web.template.render('templates/')
urls = {
'/.*','index'
}
class index:
def GET(self,name):
return render.index(name)

if __name__ == "__main__":
app = web.application(urls,globals())
app.run()

But when i go to the url like http://192.168.1.13:8080/Joe
I got his error <type 'exceptions.TypeError'> at /Joe

GET() takes exactly 2 arguments (1 given).

Any Ideas.Please help

Shannon Cruey

unread,
Apr 27, 2012, 11:26:42 PM4/27/12
to we...@googlegroups.com
I think your problem may be in the url mapping.  Try this:

'/(.*)', 'index'

Note the parens - I think that matters.

For what it's worth (your mileage may vary), I've found I'm not doing
very much argument passing on the URL once I got going past the
tutorials. I'm using web.data() and web.input() to get querystring or
post data the "old fashioned" way. For my jQuery ajax posts, I even
made a wrapper function:

def getAjaxArg(sArg, sDefault=""):
"""Picks out and returns a single value."""
data = uiGlobals.web.data()
dic = json.loads(data)

if dic.has_key(sArg):
return dic[sArg]
else:
return sDefault


and I call it like this:
xyz = getAjaxArg("myarg")
> --
> You received this message because you are subscribed to the Google Groups "web.py" group.
> To post to this group, send email to we...@googlegroups.com.
> To unsubscribe from this group, send email to webpy+un...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/webpy?hl=en.
>

Ryan Sears

unread,
Apr 27, 2012, 11:32:48 PM4/27/12
to we...@googlegroups.com
Yep, the ()'s are the regular expression capture directives, then those are automatically passed to the class function in question. I believe you can do multiples, but yeah, as Shannon says after you figure out the best method for passing that stuff around you realize there's better ways to do it. 

murat bilal

unread,
Apr 28, 2012, 9:58:03 AM4/28/12
to we...@googlegroups.com
Thank you very much.It is ok with parenthesis under

Ubuntu 11.10 and Python 2.7.2+

kazumi

unread,
May 2, 2012, 12:12:05 AM5/2/12
to we...@googlegroups.com
:)
Reply all
Reply to author
Forward
0 new messages