On Mar 12, 2011, at 11:39 AM, pierreth wrote: > > I think you mean the response object.
Yes, response. > The example code you gave still > use the character "<" so it does not help. Did you try it? How about the second version? > > In fact, the problem is that web2py is not processing the xml document > but it parse directly the html file. I would really like Massimo to > fix this. > > On Mar 12, 2:15 pm, Jonathan Lundell <[email protected]> wrote: >> On Mar 12, 2011, at 11:05 AM, pierreth wrote: >> >> >> >> >> >>> Hello, >> >>> I have small problem when the characters "< and ">" are used in web2py >>> html template views. Using them for Python breaks the html: >> >>> {{="OK" if x < 0 else "bad"}} >> >>> Because these characters are not escaped in the code, the html file is >>> no longer well formed. >> >>> Using the html entities "<" and "&gr;" does not solve the problem >>> because web2py gives an error when theses characters are used as >>> Python code in templates. >> >>> Is it possible to fix this to have well formed html for web2py >>> templates? >> >> This is a consequence of the way the '=' (request.write) operator behaves at >> the beginning of a code block: it treats the entire string as its argument >> string, something like: request.write('"OK" if x < 0 else "bad"') >> >> You can rewrite it to use request.write explicitly, or to put each = >> operator on its own line. >> >> {{request.write("OK" if x < 0 else "bad")}} >> >> or >> >> {{if x < 0: >> ="OK" >> else: >> ="bad" >> pass >> >> }} >> >> (I think) >> >> When the '=' operator is embedded in a code block, it consumes everything >> until the end of the physical line or code block, whichever comes first. >> When it begins a code block, it consumes the entire block.

