You could do this:
https://groups.google.com/d/topic/web2py/4IFFE-7vq1I/discussion. The only downside is you have to call the special render() function in each controller instead of relying on web2py's default handling of the rendering.
Another option is to create a special helper for your ember markup:
In a model or imported from a module:
class em(DIV):
tag = ''
def xml(self):
return '{{%s}}' % super(em, self).xml()
In web2py view:
{{=em('stuff that goes in ember markup')}}
{{=em('stuff that goes in ember markup, ', A('including nested web2py helpers', _href='#'))}}
{{=A(em('ember markup nested in a web2py helper'), _href='#')}}
Produces:
{{stuff that goes in ember markup}}
{{more stuff, <a href="#">including nested web2py helpers</a>}}
<a href="#">{{ember markup embedded in a web2py helper}}</a>
Ultimately, it would be nice if the web2py markup tags were more easily configurable. I was thinking it might be nice to do so in routes.py -- that way you could specify custom tags on a per view basis (though if the views extend a layout, the layout would have to have the same custom tags as the view).
Anthony