For both local and remote machine, the Controllers and Views are identical:
***BUT*** On the local machine I get this ERROR response Traceback (most recent call last): File "gluon/restricted.py", line 178, in restricted File "C:\web2py\applications\mobyjoe/views\default/showLists.html", line 42, in <module> File "gluon/html.py", line 184, in URL SyntaxError: not enough information to build the url ... 40. for list in listD: 41. response.write('\r\n',escape=False) 42. response.write(A(list.name, _href=URL("showAList", args=list.id))) 43. response.write(' - ',escape=False) 44. response.write(list.name) 45. response.write(' - ',escape=False) 46. response.write(list.id) 47. response.write('<br/>\r\n\r\n',escape=False) 48. pass ***AND*** On the remote machine I get this GOOD response: mobyJoe My Current Lists l5 - l5 - 3 l6 - l6 - 4 l8 - l8 - 5 l8 - l8 - 6 l8 - l8 - 7 l8 - l8 - 8 l8 - l8 - 9 l8 - l8 - 11 l9 - l9 - 10 l9 - l9 - 12 l9 - l9 - 13 list 4 - list 4 - 1 list 5 - list 5 - 2 lj1 - lj1 - 14 lj2 - lj2 - 15 lj3 - lj3 - 16 Here is the Controller and View code. Anyone see anything stupid I am doing, any ideas? Thanks in advance. All the best, Joe **************************************************************************************** Controller: **************************************************************************************** # -*- coding: utf-8 -*- #<!-- local and remote --> ######################################################################### ## This is a samples controller ## - index is the default action of any application ## - user is required for authentication and authorization ## - download is for downloading files uploaded in the db (does streaming) ## - call exposes all registered services (none by default) ######################################################################### def index(): """ example action using the internationalization operator T and flash rendered by views/default/index.html or views/generic.html """ #response.flash = T('Welcome to web2py') #return dict(message=T('Hello World')) return dict(message=T('')) def addList(): """ displays dem volunteer signup form rendered by views/default/index.html or views/generic.html """ # we want to insert so see http://www.web2py.com/book/default/chapter/07 # search for """ Forms and Validators """ and """ def insert_numbers(): """ and # """ SQLFORM without database IO """ #form = crud.create(db.volunteers, URL(f='showvol', args=volunteers.id), # message='Your signup was recored.') #form_labels = {'lname':'Last Name','fname':'First Name'} #form = SQLFORM(db.list, labels=form_labels) form =SQLFORM(db.mylist) if form.accepts(request.vars, session): ## insert the lines in the textbox into the mylines table newlist = db(db.mylist.id.max()).select() for line in newlist.tlines.split('\n'): mylines_id = db.mylines.insert(mylist_id=newlist.id, aline=line) pass return dict(form=form, request=request, session=session) def showLists(): #return dict(db.list) the_lists = db().select(db.mylist.ALL, orderby=db.mylist.name) return dict(listD=the_lists) def showAList(): l = db(db.mylist.id==request.args(0)).select().first() #lineList = l.tlines.split('\n') lineList = db(db.mylines.mylist_id==l.id).select() return dict(name=l.name, lines=lineList) def user(): """ exposes: http://..../[app]/default/user/login http://..../[app]/default/user/logout http://..../[app]/default/user/register http://..../[app]/default/user/profile http://..../[app]/default/user/retrieve_password http://..../[app]/default/user/change_password use @auth.requires_login() @auth.requires_membership('group name') @auth.requires_permission('read','table name',record_id) to decorate functions that need access control """ return dict(form=auth()) def debug(): return dict(request=request, response=response, session=session ) def download(): """ allows downloading of uploaded files http://..../[app]/default/download/[filename] """ return response.download(request,db) def call(): """ exposes services. for example: http://..../[app]/default/call/jsonrpc decorate with @services.jsonrpc the functions to expose supports xml, json, xmlrpc, jsonrpc, amfrpc, rss, csv """ session.forget() return service() **************************************************************************************** View: **************************************************************************************** {{extend 'layout.html'}} <!-- local and remote --> {{#=message}} {{#=BEAUTIFY(response._vars)}} <h1>My Current Lists</h1> {{for list in listD:}} {{=A(list.name, _href=URL("showAList", args=list.id))}} - {{=list.name}} - {{=list.id}}<br/> {{pass}}