4 回答
TA贡献1825条经验 获得超6个赞
Django 的模板引擎会自动转义,所以你真的不需要转义。
如果你像 {{article.description|safe}} 这样添加模板过滤器“安全”,那么你确实需要担心诸如 html 注入之类的事情,因为“安全”将字符串标记为这样,这意味着它不会被转义。
还有一个 {% autoescape on %}...{% endautoescape %} 模板标签,如果需要,可以将其中的“on”更改为“off”。默认情况下它是打开的,并且不需要标签。
其他模板引擎可能默认不会转义,Jinja2 就是其中之一。
TA贡献1951条经验 获得超3个赞
默认情况下,Django 自动转义模板变量的输出以避免跨站点脚本。如果要呈现未转义的字符串,则可以使用safe过滤器或模板块autoescape,如下所示:
{{ var|safe }}
或者
{% autoescape off %}
{{ var }}
{% endautoescape %}
TA贡献1853条经验 获得超18个赞
将安全过滤器添加到您的 html 模板 var。Django 自动转义 html 以防止 html 注入。您可以通过添加 |safe 来“关闭它”。例如:
<div> {{ article.description|safe }} </div>
TA贡献2065条经验 获得超13个赞
Django 模板处理器正在转义模型中的 HTML 语法。我认为您需要包含此标头标记才能使您的 tinyMCE 应用程序正常工作。它是一些可能呈现 HTMLField 的 javascript 代码。
<head>
...
{{ form.media }}
</head>
添加回答
举报