blob: 5a93b5f810f0810cb3f96ee4f8b519c39bc9cb1c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
from django import forms
from django.contrib.auth import login, logout, authenticate
class UserLoginForm(forms.Form):
username = forms.CharField()
password = forms.CharField(widget=forms.PasswordInput())
def clean(self):
cleaned_data = self.cleaned_data
username = cleaned_data.get('username')
password = cleaned_data.get('password')
if username is None or password is None:
raise forms.ValidationError("Invalid username or password")
user = authenticate(username=username, password=password)
if not user:
raise forms.ValidationError("Invalid username or password")
if not user.is_active:
raise forms.ValidationError("User is blocked")
cleaned_data['user'] = user
return cleaned_data
|