在文档中,我们发现:
${...} operator${...} 符号是文本插入的简写。对大括号内的 Python 表达式求值并将结果包含在输出中(默认情况下,所有插入的文本都被转义):
<div id="section-${index + 1}"> ${content} </div>要避免这种行为,请在符号前加上反斜杠字符:
\${...}。
如何将content值呈现为 HTML 而不是文本?
在文档中,我们发现:
${...} operator${...} 符号是文本插入的简写。对大括号内的 Python 表达式求值并将结果包含在输出中(默认情况下,所有插入的文本都被转义):
<div id="section-${index + 1}"> ${content} </div>要避免这种行为,请在符号前加上反斜杠字符:
\${...}。
如何将content值呈现为 HTML 而不是文本?
为避免转义,请使用structure:前缀:
<div>${structure: content}</div>
您还可以使用__html__方法传递对象:
请注意,如果对象实现了该
__html__方法,则该方法的结果将按原样插入(没有 XML 转义)。
更新:
__html__根据要求,这是我认为该方法应如何工作的示例。请注意,我不是 Chameleon 用户,并且此代码未经测试:)
class Unescaped(object):
    def __init__(self, value):
        self.value = value
    def __html__(self):
        return self.value
在您的模板中:
<div>${ Unescaped(content) }</div>