cor*_*ump 15 python template-engine jinja2
我有点理解表达式的问题{{ something.render() | safe }}
.
从我所看到的,没有safe
关键字,它输出整个HTML文档,而不仅仅是真实的内容.
我想知道的是它实际上是做什么的,它是如何运作的.
dka*_*ins 21
通常情况下,文本是HTML转义的(因此<b>
会被写出来<b>
,将其呈现为<b>
).
当你把|safe
东西放在后面时,你告诉模板引擎你已经自己转义了文本,即"直接渲染它是安全的".所以它不会为你做那种编码.
有关更多信息,请访问:http://jinja.pocoo.org/docs/templates/#html-escaping
小智 5
扩展@data的答案,这是一个使用的示例markupsafe.Markup
:
import markupsafe
vals = {}
vals["name"] = markupsafe.Markup("<b>Duck</b>, Donald")
html = template.render(vals)
Run Code Online (Sandbox Code Playgroud)
生成的 HTML 会在模板包含 的任何地方以粗体显示 Donald 的姓氏{{name}}
。
归档时间: |
|
查看次数: |
16128 次 |
最近记录: |