Hey Marios, Thanks. That got me going.
I now have working routes. I found route ordering to be important. I have my "catch all" route defined last in my urls. urls = ( '/foo(.*)', 'foo', '/bar(.*)', 'bar', '/(.*)', 'index') Thanks again. Rob. On Friday, 14 October 2016 15:41:51 UTC+1, Marios Zindilis wrote: > > This is somewhat documented in http://webpy.org/cookbook/url_handling but > it might not be clear enough. > > Both your classes' GET methods require a "name" parameter, but you are not > capturing that name in your URL definitions. When you define a URL as > ('/bob', 'bob'), as soon as a request matches the first part, it calls > bob.GET() without any parameters. If you add a capture to your URL > definitions, such as ('/bob/(.*)', 'bob') then web.py will pass whatever it > captures after "/bob/" as a parameter to bob.GET(). > > I hope this is clear. > > -- > Marios > > On Fri, Oct 14, 2016 at 3:20 PM, robsbots <[email protected] > <javascript:>> wrote: > >> I can't seem to get the basics of routing working. >> >> This is my code. >> >> #!/usr/bin/env python >> >> # Imports >> import web >> >> # Variable definition >> urls = ( >> # '/(.*)', 'hello', >> '/', 'hello', >> '/bob', 'bob') >> >> app = web.application(urls, globals()) >> >> # Main class >> class hello: >> def GET(self, name): >> print ( "Name for class - " ), >> print ( name ) >> http_response = "Hello, world!" >> return http_response >> >> class bob: >> def GET(self, name): >> http_response = "Hello, bob!" >> return http_response >> >> >> # Call web.py app >> if __name__ == "__main__": >> app.run() >> >> This code gives me 'TypeError: GET() takes exactly 2 arguments (1 given)' >> when I request any route. If I replace the URLS variable with a catchall, >> this works as expected. >> >> What am I missing ? >> >> Thanks. >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "web.py" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To post to this group, send email to [email protected] <javascript:> >> . >> Visit this group at https://groups.google.com/group/webpy. >> For more options, visit https://groups.google.com/d/optout. >> > > > > -- > Marios Zindilis > -- You received this message because you are subscribed to the Google Groups "web.py" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/webpy. For more options, visit https://groups.google.com/d/optout.
