Dear community,

I have a strange problem reading in request.args .
I was trying to implement the mechanism from the web2py book, chapter 29, 
SQLFORM.grid where it says:

def manage():
    table = request.args(0)
    if not table in db.tables(): redirect(URL('error'))
    grid = SQLFORM.grid(db[table],args=request.args[:1])
    return locals()

and put that into controller remote.

I am always getting an error:

TypeError: 'in <string>' requires string as left operand, not NoneType

in the line

 if not table in db.tables(): redirect(URL('error'))

because table was not assigned a value because request.args is always empty.

My URL looks like this:

https://hostname:3001/remote/manage/myarg

so I would expect table to get the value 'myarg'.

When I look into the full request, args is definitely empty. I only have 
slashes and letters in my URL after the port number, no spaces, special 
characters, nothing. Can anyone please help me and let me know what I am 
doing wrong? I downloaded the stable version today, so it should all be in 
order.

I have the following in routes.py to remove the app name:

routers = dict(
    BASE=dict(
        default_application='myapp',
        root_static='favicon.ico'
    ),
)
logging = 'debug'

Thanks a lot and cheers,
Torben

-- 



Reply via email to