Модель формы не имеет атрибута 'clean_data'
Я хочу войти в систему, чтобы иметь возможность пользоваться сайтом. Однако у меня возникла проблема: у объекта 'LoginForm' нет атрибута 'clean_data'. Пожалуйста, подскажите, как я могу решить эту проблему. Заранее прошу прощения за мой английский
Мой forms.py
class LoginForm(forms.Form):
user_name = forms.CharField(max_length=20, widget=TextInput(attrs={'type':'text','class': 'form-control','placeholder': 'Input username'}))
passWord = forms.CharField(max_length=25, widget=TextInput(attrs={'type':'password','class': 'form-control','placeholder': 'Input password'}))
class Meta:
fields = ['user_name', 'passWord']
Мой views.py
def login_view(request):
template_name = 'main/login.html'
action_detail = ''
if request.method == "POST":
form = LoginForm(request.POST)
if form.is_valid:
username = form.cleaned_data.get('user_name')
password = form.cleaned_data.get('passWord')
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
return redirect('/')
else:
action_detail = 'invalid username or password'
else:
form = LoginForm()
context={
'title': 'Login',
'form': form,
'action_detail': action_detail,
}
return render(request, template_name, context)
is_valid - это функция. https://docs.djangoproject.com/en/4.0/ref/forms/api/#django.forms.Form.is_valid
Вы должны назвать его.
if form.is_valid():