2

我有很多由网站管理员生成的内容;我最终将“|safe}}”添加到几乎每个模板变量中。这很烦人。

我可以自动将每个变量标记为安全,而是在必要时选择使用转义。

4

1 回答 1

5

可以通过使用 Django 模板的自动转义来确定块内的自动转义。

如如何在Django 书第 9 章中将其关闭部分中所述(在Automatic HTML Escaping部分中查找文本):

如果您不希望在每个站点、每个模板级别或每个变量级别上自动转义数据,您可以通过多种方式将其关闭。

这种针对每个站点的方法是拥有一个基本模板(所有模板继承自的模板),它简单地指定{% autoescape off %}为所有上下文块的顶部和{% endautoescape %}末尾:

自动转义标签将其效果传递给扩展当前标签的模板以及通过include标签包含的模板,就像所有块标签一样。

正如@ChrisPratt 评论的那样:

绝不允许从自动转义中排除用户提交的内容。

于 2012-08-08T15:56:03.480 回答