On Monday, October 10, 2011 4:03:49 PM UTC-4, miroslavgojic wrote:
>
> with
> {{=request.url}}
> i will get
> /some/my/url/address
>
> but when I tray next example it is not working:
>
> {{
> myurl = request.url:
> i = /some/my/url/address:
> if i == myurl:
> response.writ('my first HTML output')
> else:
> response.write('my other HTML output')
> pass
> }}
>
> how to resolve this, I need one part layout.htm to be different for index 
> page than an other pages, is there some other solutions
>

How about using a 
block: http://web2py.com/book/default/chapter/05#Blocks-in-Views? Define the 
default content of the block in layout.html, and define the index specific 
content in index.html.

A few other points:

   - I believe request.url will contain the rewritten version of the 
   requested URL if you're using routes.py, so it may not match your hand-coded 
   URL.
   - If you need to determine the current function (and/or controller), it's 
   better to match request.function (and/or request.controller) rather than 
   trying to match the full URL (which could get tricky if the are args, a 
   query string, or any rewrites going on).
   - Using response.write is generally discouraged and usually unnecessary 
   -- instead, just do:

{{if condition:}}
your html goes here
{{else:}}
alternative html goes here
{{pass}}

Anthony
 

Reply via email to