Python Pyramid和Chameleon模板语言转义html

Python Pyramid和Chameleon模板语言转义html,第1张

Python Pyramid和Chameleon模板语言转义html

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>'))


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5642935.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存