forms.py
from django import forms
from django.contrib.auth import authenticate
#
from .models import User
class LoginForm(forms.Form):
username = forms.CharField(
label='username',
required=True,
widget=forms.TextInput(
attrs={
'placeholder': 'usernmae',
}
)
)
password = forms.CharField(
label='Contraseña',
required=True,
widget=forms.PasswordInput(
attrs={
'placeholder': 'contraseña'
}
)
)
def clean(self):
cleaned_data = super(LoginForm, self).clean()
username = self.cleaned_data['username']
password = self.cleaned_data['password']
if not authenticate(username=username, password=password):
raise forms.ValidationError('Los datos de usuario no son correctos')
return self.cleaned_data
views.py
class LoginUser(FormView):
template_name = 'users/login.html'
form_class = LoginForm
success_url = reverse_lazy('home_app:panel')
def form_valid(self, form):
user = authenticate(
username=form.cleaned_data['username'],
password=form.cleaned_data['password']
)
login(self.request, user)
return super(LoginUser, self).form_valid(form)
urls.py
path(
'login/',
views.LoginUser.as_view(),
name='user-login',
),

Última modificación: 26 Dec 2022 16:50
No hay comentarios aún
Sé el primero en comentar este artículo