Jinja 2 safe keyword

前端 未结 3 1210
故里飘歌
故里飘歌 2021-02-04 01:28

I have a little problem understanding what an expression like {{ something.render() | safe }} does .

From what I have seen, without the safe ke

相关标签:
3条回答
  • 2021-02-04 01:54

    For anyone coming here looking to use the safe filter programmatically: wrap it in a markupsafe.Markup class, on which Jinja2 depends on.

    0 讨论(0)
  • 2021-02-04 02:03

    The safe filter explicitly marks a string as "safe", i.e., it should not be automatically-escaped if auto-escaping is enabled.

    The documentation on this filter is here.

    See the section on manual escaping to see which characters qualify for escaping.

    0 讨论(0)
  • 2021-02-04 02:12

    Normally text is HTML-escaped (so <b> would be written out as &lt;b&gt;, which would render as <b>).

    When you put |safe after something, you're telling the template engine that you have already escaped the text yourself, i.e. "it's safe to render this directly". So it will not do that encoding for you.

    For more information: http://jinja.pocoo.org/docs/templates/#html-escaping

    0 讨论(0)
提交回复
热议问题