views.py
from django.urls import reverse_lazy, reverse
from django.contrib.auth import authenticate, login, logout
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)
forms.py
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'
}
)
)
urls.py
path(
'login/',
views.LoginUser.as_view(),
name='user-login',
),
template/users/login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>Acceder al sistema</h1>
<form method="post">{% csrf_token %}
{{ form.as_p }}
<button type="submit">Acceder</button>
</form>
</body>
</html>
Última modificación: 26 Dec 2022 16:26
No hay comentarios aún
Sé el primero en comentar este artículo