如果我有一个供人们发表评论的框,然后以这种方式显示该评论…我应该逃避吗?
{{ c.title }}
实际上,这取决于。Django的模板引擎会自动转义,因此你实际上并不需要转义。
如果你像这样添加模板过滤器“ safe”,{{c.title|safe}}那么你确实需要担心诸如html注入之类的事情,因为“ safe”将字符串标记为字符串,这意味着它不会被转义。
“ safe”,{{c.title|safe}}
还有一个{%autoescape on%} ... {%endautoescape%}模板标签,如有必要,可以将“ on”更改为“ off”。默认情况下,它处于启用状态,不需要标签。
{%autoescape on%} ... {%endautoescape%}
默认情况下,其他模板引擎可能不会转义,Jinja2是其中之一。