Django:将模型字段标记为模板安全的最佳实践

Bel*_*dez 4 python django django-templates django-models

现在我必须做类似(模板代码)的事情:

object.name|safe
Run Code Online (Sandbox Code Playgroud)

很多时候我只是忘记添加safe过滤器。我的问题:

  1. 这些对象是用户在表单级别提交和清理的。是否有理由让我更小心地将它们标记为安全?

  2. 如果上面的答案是“你很高兴”,我如何在默认情况下使模型字段安全?无需记住使用safe标签?

Ale*_*uhl 5

关于#2,您可以使用一个名为mark_safe 的文档记录不足的函数。例如,在我编写的自定义表单字段中,我需要为 label_from_instance 方法返回一个带有 HTML 代码的字符串,因此我使用 mark_safe 返回:

return mark_safe( '<span class="foo">Some HTML output</span>' )
Run Code Online (Sandbox Code Playgroud)