Python Django如何覆盖必填字段的表单验证

Python Django如何覆盖必填字段的表单验证,python,django,Python,Django,我想覆盖表单上密码字段的验证,这是必需的。下面是我所累的 def clean(self): super(UserRegistrationForm, self).clean() password = self.cleaned_data.get("password") if password: MIN_LENGTH = 6 if len(password) < MIN_LENGTH:

我想覆盖表单上密码字段的验证,这是必需的。下面是我所累的

 def clean(self):
        super(UserRegistrationForm, self).clean()

        password = self.cleaned_data.get("password")

        if password:
            MIN_LENGTH = 6
            if len(password) < MIN_LENGTH:
                raise forms.ValidationError("Password must be at least %d characters long." % MIN_LENGTH)
        else:
            print(self._errors)
            del self._errors['password']


        return self.cleaned_data

在表单的构造函数中将字段标记为非必需:

def __init__(self, *args, **kwargs):
    super(MyForm, self,).__init__(*args, **kwargs)
    self.fields['password'].required = False

我使用的是crispy表单,所以这似乎给了我一个关键错误:“password”什么是
打印self.fields.keys()
所说的?=['email','password'],没有任何意义更新的OP来显示给你。如果我添加self.fields['password'].required=False,我会得到密钥错误
def __init__(self, *args, **kwargs):
    super(MyForm, self,).__init__(*args, **kwargs)
    self.fields['password'].required = False