django form max_length不起作用

django form max_length不起作用,django,django-forms,Django,Django Forms,我正在使用django 1.8.7。我注意到表单的最大长度不起作用。对于以下代码,即使设置了max_长度并且密码长度超过50,表单也会进行验证。尽管最小长度验证工作正常 class AuthenticationForm(forms.Form): email_mobile = forms.CharField(widget=forms.TextInput, label="Email or Mobile") password = forms.CharField(widget=forms

我正在使用django 1.8.7。我注意到表单的最大长度不起作用。对于以下代码,即使设置了max_长度并且密码长度超过50,表单也会进行验证。尽管最小长度验证工作正常

class AuthenticationForm(forms.Form):
    email_mobile = forms.CharField(widget=forms.TextInput, label="Email or Mobile")
    password = forms.CharField(widget=forms.PasswordInput, label="Password", min_length=6, max_length=50, error_messages={'min_length': 'Password should be at least 6 characters long.'})
    remember_me = forms.BooleanField(widget=forms.CheckboxInput, required = False)

    def clean(self):
        cleaned_data = super(AuthenticationForm, self).clean()
        try:
            if 'email_mobile' in self.cleaned_data:
                int(self.cleaned_data['email_mobile'])
                if len(self.cleaned_data['email_mobile']) != 10:
                    raise forms.ValidationError("Please provide a valid 10 digit mobile number.")
        except (ValueError, TypeError):
            if 'email_mobile' in self.cleaned_data:
                validate_email(self.cleaned_data['email_mobile'])

        return self.cleaned_data

我是做错了什么还是一个bug?

我发现了我的错误。我使用的表单输入已经在html中设置了50个maxlength字符,当我使用selenium发送密钥时,它不需要超过50个字符。

根据,它只需要一个参数:
render\u value
。此外,构造函数也没有任何其他参数:


试着在表单清理中清理它。此外,如果您要将其存储在模型中的CharField中,它将满足您的目的

不相关,但是您的
clean()
方法应该使用
cleaned_数据
而不是
self.cleaned_数据
,而且您的
返回值
有错误的缩进。您如何呈现表单?请粘贴处理表单的视图块。