【问题标题】:Display Text in Template?在模板中显示文本?
【发布时间】:2011-10-31 01:23:51
【问题描述】:

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

我意识到我可以在我的模型中添加一个转换字段并返回 HTML 的方法,然后从我的模板中调用该方法,但是我可以在没有这个额外方法的情况下做到这一点,只使用我的模板中的 markdown 字段和 Django 的一样吗?

{{ mytext|markdown:"safe" }}

【问题讨论】:

    标签: python markdown pyramid chameleon template-tal


    【解决方案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 是一个特殊情况的关键字,而不是页面模板的可扩展部分。

    【讨论】:

    • 谢谢。据我了解,“结构”只是传递文本不变,它不会转换任何东西。有没有办法将文本从降价转换为标记?
    • 据我所知,chameleon 没有内置支持渲染降价。
    • 有没有办法实现自定义关键字?
    • 更新了一些关于表达式类型的内容
    猜你喜欢
    • 1970-01-01
    • 2020-03-30
    • 1970-01-01
    • 2022-08-16
    • 2019-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多