【问题标题】:How to have HTML tags inside a jinja expression?如何在 jinja 表达式中包含 HTML 标签?
【发布时间】:2020-02-24 05:12:30
【问题描述】:

我有一个变量test,它的值是Asia is the largest continent in the world

并且在变量 cname 中的值为 Asia

在这里,我尝试将 Asia 的值加粗如下:

{{ test.replace(cname,<strong>cname</strong>) }}

但这给了我一个错误,jinja2.exceptions.TemplateSyntaxError: unexpected '&lt;'

要求输出:亚洲是世界上最大的大陆

有没有可能的方法来实现这一点,任何指导链接都非常有帮助,TIA

【问题讨论】:

    标签: flask jinja2


    【解决方案1】:

    使用str.format()|safe 过滤器将字符串标记为安全。如果没有|safe 过滤器,HTML 标记将被转义,并在呈现的页面上“按原样”显示。

    {{ test.replace(cname,"<strong>{}</strong>".format(cname)) | safe }}
    

    【讨论】:

    • 这给了我,&lt;strong&gt;Asia&lt;/strong&gt; is the largest continent in the world,但问题是我希望亚洲在 o/p 中加粗.....
    • “o/p”是什么意思?
    • 抱歉,输出(o/p)
    • 我明白了。您有自动 HTML 转义。我会编辑答案。
    • 这是文档中关于自动转义的部分。 link.
    猜你喜欢
    • 1970-01-01
    • 2023-04-03
    • 2019-11-12
    • 2011-03-31
    • 2019-08-12
    • 2016-02-15
    • 1970-01-01
    • 2022-08-19
    • 2015-04-18
    相关资源
    最近更新 更多