您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python Pyramid和Chameleon模板语言转义html

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 PageTemplate

pt = 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 PageTemplate

pt = PageTemplate(a)

class Literal(object):
    def __init__(self, s):
        self.s =s

    def __html__(self):
        return self.s

print pt(t=Literal('<p>Hi!</p>'))
python 2022/1/1 18:36:48 有249人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶