From 4f42d15eaf95a11042c08495a2166f09055ecd9b Mon Sep 17 00:00:00 2001 From: Bruno Cesar Date: Wed, 20 Jan 2021 20:38:14 -0300 Subject: [PATCH] Implementa login --- apps/templates/usuarios/dashboard.html | 27 ++++++++++++++++++++++++++ apps/templates/usuarios/login.html | 7 ++++--- apps/usuarios/views.py | 21 +++++++++++++++++++- 3 files changed, 51 insertions(+), 4 deletions(-) create mode 100644 apps/templates/usuarios/dashboard.html diff --git a/apps/templates/usuarios/dashboard.html b/apps/templates/usuarios/dashboard.html new file mode 100644 index 0000000..ef615c3 --- /dev/null +++ b/apps/templates/usuarios/dashboard.html @@ -0,0 +1,27 @@ +{% extends '_base.html' %} +{% load static %} +{% block content %} + + +
+ + +
+ + {% include 'partials/_header.html' %} + + +
+
+
+
+
+

Olá {{ user.username }}

+
+
+
+
+
+ + +{% endblock %} \ No newline at end of file diff --git a/apps/templates/usuarios/login.html b/apps/templates/usuarios/login.html index f5483dd..c37fd9a 100644 --- a/apps/templates/usuarios/login.html +++ b/apps/templates/usuarios/login.html @@ -22,15 +22,16 @@

Login

-
+ + {% csrf_token %}
- - + +
diff --git a/apps/usuarios/views.py b/apps/usuarios/views.py index 58d6b4d..9f04319 100644 --- a/apps/usuarios/views.py +++ b/apps/usuarios/views.py @@ -1,7 +1,26 @@ from django.shortcuts import render, redirect from django.contrib.auth.models import User +from django.contrib import auth def login(request): + if request.method == 'POST': + email = request.POST['email'] + password = request.POST['password'] + + if not email.strip() or not password.strip(): + print('=> Todos os campos são obrigratórios!') + return redirect('login') + + if User.objects.filter(email=email).exists(): + nome = User.objects.filter(email=email).values_list('username', flat=True).get() + user = auth.authenticate(request=request, username=nome, password=password) + + if user is not None: + auth.login(request, user) + print('=> Login realizado com sucesso!') + + return redirect('dashboard') + return render(request, 'usuarios/login.html') def logout(request): @@ -42,4 +61,4 @@ def cadastro(request): return render(request, 'usuarios/cadastro.html') def dashboard(request): - pass + return render(request, 'usuarios/dashboard.html')