在模板中显示文字?

时间:2011-08-20 03:13:57

标签: python markdown pyramid chameleon template-tal

我的模型中有一个包含降价文本的文本字段。我需要将文本转换为html并在我的.pt模板中显示。最好的方法是什么?

我意识到我可以为我的模型添加一个方法来转换字段并返回HTML,然后从我的模板中调用该方法,但是如果没有这个额外的方法,我可以通过仅使用模板中的markdown字段来实现类似于Django的?

{{ mytext|markdown:"safe" }}

1 个答案:

答案 0 :(得分:1)

Plone,它使用TAL作为它的模板引擎,可以使用StructuredText,reStructuredText和其他富文本格式,在TAL之外进行所有渲染到HTML。所以你可能会在你想要的方法中咆哮错误的树。

也就是说,TAL有一个可扩展的“表达式”系统,这就是为什么你可以有path个表达式(默认)或python表达式的原因。在包含plone的zope世界中,有一个称为内容提供者的页面组合系统,因此有人实现了provider tal表达式。所以也许你可以看看:

tales.py

configure.zcml

structure关键字仍然是您最简单的选择。

<div tal:replace="structure view/getMarkdown">rendered markdown</div> 

但是structure是一个特殊的案例关键字,而不是页面模板的可扩展部分。