Btw, in case you're new to these things, the main point of URL helpers
(called URL generators in some frameworks) is to generate the URL
based on the information about the internal structure of the
application. This is done to avoid hard-coding the paths. If you
merely use the URL helper function to pass a full relative path, it
sort of beats the purpose (that's what others meant by 'not supposed
to work that way').

On Thu, Dec 30, 2010 at 1:15 AM, Maurice Ling <mauricel...@gmail.com> wrote:
> Thanks everyone.
>
> It worked.
>
> On Dec 29, 6:45 pm, mdipierro <mdipie...@cs.depaul.edu> wrote:
>> or
>>
>> URL('account', 'log_in')
>>
>> On Dec 29, 3:14 am, Kenneth Lundström <kenneth.t.lundst...@gmail.com>
>> wrote:
>>
>> > If I remember correctly there was something about this on the list.
>>
>> > I think you use the URL the wrong way and until version 1.83.2 the
>> > helper worked wrongly. In your case it "worked" but it has been
>> > corrected and it doesn t work anymore.
>>
>> > Try something like URL(c='account', f='log_in')
>>
>> > Kenneth
>>
>> > > Hi
>>
>> > > I have a problem since version 1.83.2. It gives me this error:
>>
>> > > Traceback (most recent call last):
>> > >    File "D:\web2py\gluon\restricted.py", line 186, in restricted
>> > >      exec ccode in environment
>> > >    File "D:/web2py/applications/init/controllers/default.py", line 91,
>> > > in<module>
>> > >    File "D:\web2py\gluon\globals.py", line 96, in<lambda>
>> > >      self._caller = lambda f: f()
>> > >    File "D:/web2py/applications/init/controllers/default.py", line 55,
>> > > in index
>> > >      name = check_login()
>> > >    File "D:/web2py/applications/init/controllers/default.py", line 38,
>> > > in check_login
>> > >      redirect(URL(r=request, f='../account/log_in'))
>> > >    File "D:\web2py\gluon\html.py", line 226, in _URL
>> > >      return URL(*args, **kwargs)
>> > >    File "D:\web2py\gluon\html.py", line 186, in URL
>> > >      raise SyntaxError, 'not enough information to build the url'
>> > > SyntaxError: not enough information to build the url
>>
>> > > My codes worked up to version 1.82.1.
>>
>> > > I am using my own authorization/login codes which is in controllers/
>> > > account.py. The offending code (check_login function) is as follows:
>>
>> > > def check_login(session=session):
>> > >      if session.login_time == None:
>> > >          session.login_time = 0
>> > >      if session.username == None or \
>> > >          session.login_time + login_expiry * 3600<  int(time.time()):
>> > >          redirect(URL(r=request, f='../account/log_in'))
>> > >      else:
>> > >          return session.username
>>
>> > > In version 1.82.1, check_login (called byhttp://localhost:8000/init)
>> > > redirects tohttp://localhost:8000/init/account/login. But from
>> > > version 1.83.2, it seems to redirect 
>> > > tohttp://localhost:8000/init/default/init/account/login
>> > > which is non-existent.
>>
>> > > Any ideas what might be happening?
>>
>> > > Thanks
>> > > Maurice Ling
>>
>>
>



-- 
Branko Vukelic

stu...@brankovukelic.com
http://www.brankovukelic.com/

Reply via email to