python - 清理提交的表单数据中的 HTML

标签 python django forms sanitization

是否有一个通用的“表单清理器”可以用来确保从提交的表单中删除所有 html/脚本? form.clean() 似乎没有做任何事情 - html 标签仍然在 cleaned_data 中。或者实际上手动完成所有这些(并覆盖表单的 clean() 方法)是我唯一的选择?

最佳答案

strip_tags 实际上是从输入中删除标签,这可能不是你想要的。

要将字符串转换为“安全字符串”,其中尖括号、与号和引号转换为相应的 HTML 实体,您可以使用 escape过滤器:

from django.utils.html import escape
message = escape(form.cleaned_data['message'])

关于python - 清理提交的表单数据中的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5641901/

相关文章:

python - 使用 TraitsUI 的带有列表的可滚动组

python - 计算 Flask 中的登录尝试次数

django - 在 Django 1.5 自定义用户模型中使用电子邮件作为用户名字段会导致 FieldError

javascript - 将 PHP 变量转换为 JavaScript 变量

html - 默认的 joomla 表单样式

Python Pyramid 强制下载,无需在浏览器中打开文件

python - Scikit-学习 GridSearchCV : Avoid function to copy data for each process in parallel

python - Django 基于可选参数的过滤

python - Django 中的 "auth.User"是做什么的?

javascript - 基本形式 - Javascript 代码不起作用