在使用Django表单验证时,需要使用cleaned_data字典来获取用户输入的数据。但有时在使用内置的AuthenticationForm表单验证类时会遇到'cleaned_data'属性不存在的错误。这是因为该表单验证类并未覆盖clean()方法并返回任何数据。因此解决方法是在表单验证类中覆盖clean()方法并返回cleaned_data字典。具体示例如下:
from django.contrib.auth.forms import AuthenticationForm
class MyLoginForm(AuthenticationForm):
def clean(self):
cleaned_data = super().clean()
return cleaned_data
在上面的示例中,我们继承内置的AuthenticationForm并覆盖了clean()方法来返回cleaned_data字典。这样就可以正常使用cleaned_data属性了。