我的模型中有一个包含 Markdown 文本的文本字段。我需要将文本转换为 html 并将其显示在我的 .pt
模板中。最好的方法是什么?
我意识到我可以向我的模型添加一个方法来转换字段并返回 HTML,然后从我的模板中调用该方法,但是我可以在没有这个额外方法的情况下仅使用模板中的 markdown 字段来完成此操作吗与 Django 类似?
{{ mytext|markdown:"safe" }}
最佳答案
Plone 使用 TAL 作为模板引擎,并且可以使用 StructuredText、reStructuredText 和其他富文本格式,在 TAL 之外完成所有对 HTML 的渲染。因此,您可能采用了错误的方法。
也就是说,TAL 有一个可扩展的“表达式”系统,这就是为什么您可以使用 path
表达式(默认)或 python
表达式。在包括 plone 在内的 zope 世界中,有一个称为内容提供者的页面组合系统,因此有人实现了 provider
tal 表达式。所以也许你可以看看:
structure
关键字仍然是您最简单的选择。
<div tal:replace="structure view/getMarkdown">rendered markdown</div>
但是struct
是一个特殊情况的关键字,而不是页面模板的可扩展部分。
关于python - 在模板中显示文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7129377/