使用漂白剂清理 Django 中的所有表单输入字段

Use bleach to Sanitize all Form input fields in Django

我刚开始清理 django 表单中的输入字段,需要您的帮助。这是一个以 django 形式漂白一个字段的示例。 http://www.agmweb.ca/2010-12-31-django-and-bleach/

我的问题是,如果 django ModelForm 中有 10 个这样的字段,是否有比一个一个地漂白所有 10 个字段更好的方法?

也就是说,它可以只使用类似漂白剂的东西吗(form.data)?

使用 django-bleach 提供 BleachFieldmodels.TextField 的包装):

from django import models
from django_bleach.models import BleachField

class Post(models.Model):

    content = BleachField()

或者,如果您想漂白表单的所有字段,您可以重写 _clean_fields():

class YourForm(ModelForm):

    def _clean_fields(self):
        super(LogCollectorParamsForm, self)._clean_fields()
        for name, value in self.cleaned_data.items():
            self.cleaned_data[name] = bleach.clean(value)