Jinja2转义所有HTML,但是img,b等 [英] Jinja2 escape all HTML but img, b, etc

查看:177
本文介绍了Jinja2转义所有HTML,但是img,b等的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Jinja2自动转义所有的HTML标签,但是我不想逃避一些标签(例如 img b 和其他)。我该怎么做?

Jinja2 automatically escapes all HTML tags, but I want to not escape some tags (like img, b, and some others). How can I do it?

推荐答案

您可以编写自己的过滤器。 scrubber 非常适合清理HTML。过滤器将需要将返回的字符串包装在 jinja2.Markup 中,以使模板不会重新转义。

You can write your own filter. The scrubber library is pretty good at cleaning up HTML. The filter will need to wrap the returned string in jinja2.Markup so the template will not re-escape it.

编辑:代码示例

import jinja2
import scrubber

def sanitize_html(text):
    return jinja2.Markup(scrubber.Scrubber().scrub(text))

jinja_env.filters['sanitize_html'] = sanitize_html

这篇关于Jinja2转义所有HTML,但是img,b等的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆