我有很多由网站管理员生成的内容;我最终将“|safe}}”添加到几乎每个模板变量中。这很烦人。
我可以自动将每个变量标记为安全,而是在必要时选择使用转义。
我有很多由网站管理员生成的内容;我最终将“|safe}}”添加到几乎每个模板变量中。这很烦人。
我可以自动将每个变量标记为安全,而是在必要时选择使用转义。
可以通过使用 Django 模板的自动转义来确定块内的自动转义。
如如何在Django 书第 9 章中将其关闭部分中所述(在Automatic HTML Escaping部分中查找文本):
如果您不希望在每个站点、每个模板级别或每个变量级别上自动转义数据,您可以通过多种方式将其关闭。
这种针对每个站点的方法是拥有一个基本模板(所有模板继承自的模板),它简单地指定{% autoescape off %}
为所有上下文块的顶部和{% endautoescape %}
末尾:
自动转义标签将其效果传递给扩展当前标签的模板以及通过
include
标签包含的模板,就像所有块标签一样。
正如@ChrisPratt 评论的那样:
绝不允许从自动转义中排除用户提交的内容。