Chameleon基于Zope页面模板库,因此,如果您发现缺少Chameleon文档,则不妨查看zpt文档。
无论如何,有两种主要方法可以做到这一点。如果使用tal:replace或tal:content标记属性进行渲染,则可以使用“
structure”。这是通过
structure在字符串的开头放置一个空格,最后是要呈现的模板变量的名称来完成的。一个例子如下所示:
s = '''<html> <head> </head> <body> <div tal:content="structure t"> </div> </body></html>'''from chameleon import PageTemplatept = PageTemplate(s)print pt(t='<p>Hi!</p>')
如果您不想使用tal:replace或tal:content函数,则需要将字符串包装在Chameleon渲染器将不会尝试转义的对象中(这意味着它具有一个
__html__返回字符串应为真值的方法)
。通常,这意味着创建一个“文学”类,如下所示:
a = '''<html> <head> </head> <body> <div> ${t} </div> </body></html>'''from chameleon import PageTemplatept = PageTemplate(a)class Literal(object): def __init__(self, s): self.s =s def __html__(self): return self.sprint pt(t=Literal('<p>Hi!</p>'))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)