首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jinja 2安全关键字

Jinja 2安全关键字
EN

Stack Overflow用户
提问于 2012-09-10 01:58:05
回答 4查看 28.5K关注 0票数 27

我在理解像{{ something.render() | safe }}这样的表达式所做的事情时遇到了一些问题。

据我所知,如果没有safe关键字,它会输出整个html文档,而不仅仅是真正的内容。

我想知道的是,它实际上是做什么的,它是如何运作的。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-09-10 02:02:56

safe过滤器将字符串显式标记为“安全”,即如果启用了自动转义,则不应对其进行自动转义。

有关此过滤器的文档是here

要了解哪些字符符合转义条件,请参阅manual escaping小节。

票数 33
EN

Stack Overflow用户

发布于 2012-09-10 02:03:43

通常文本是超文本标记语言转义的(因此<b>将被写为&lt;b&gt;,这将呈现为<b>)。

当你把|safe放在某个东西后面时,你是在告诉模板引擎你已经自己转义了文本,也就是说“直接呈现它是安全的”。所以它不会为你做这个编码。

欲了解更多信息,请访问:http://jinja.pocoo.org/docs/templates/#html-escaping

票数 30
EN

Stack Overflow用户

发布于 2017-04-24 18:51:38

对于希望以编程方式使用安全过滤器的任何人来说:将其包装在Jinja2所依赖的markupsafe.Markup类中。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12341496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档