python - 在模板中显示文本?

标签 python markdown pyramid chameleon template-tal

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

我意识到我可以向我的模型添加一个方法来转换字段并返回 HTML,然后从我的模板中调用该方法,但是我可以在没有这个额外方法的情况下仅使用模板中的 markdown 字段来完成此操作吗与 Django 类似?

{{ mytext|markdown:"safe" }}

最佳答案

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> 

但是struct是一个特殊情况的关键字,而不是页面模板的可扩展部分。

关于python - 在模板中显示文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7129377/

相关文章:

python - 是否可以在另一个views.py方法中访问通过HTML表单提交、在预览页面中呈现的值

javascript - 将类似 markdown 的字符串解析为具有样式属性的文本片段数组

python - 通过python和 Pyramid 框架更新mongodb表

python - 记录处理程序 : How do I make sure I am not making two?

python - 在另一条线的一点上绘制固定长度的垂直线

python - 装饰器的目的是什么(为什么要使用它们)?

python - Markdown强调-重新代入

reactjs - 使用 create-react-app 和 Typescript 时如何在构建时加载 .md 文件?

python - Chameleon 中的 "while"循环?

python - PasteDeploy 与 uwsgi 一起使用时抛出 TypeError