本文介绍了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等
发布评论