diff --git a/essenza/essenza/urls.py b/essenza/essenza/urls.py
index d14c13c..49f832d 100644
--- a/essenza/essenza/urls.py
+++ b/essenza/essenza/urls.py
@@ -1,8 +1,8 @@
from django.contrib import admin
from django.urls import path, include
from django.http import HttpResponse
-from info import views
-
+from info.views import info_view
+from product.views import EscaparateView
def home(request):
html = """
@@ -82,10 +82,9 @@ def home(request):
urlpatterns = [
path('', home, name='home'),
- path('info/', views.info_view, name='info-home'),
+ path('info/', info_view, name='info-home'),
path("user/", include("user.urls")),
- path('user/login/', include('user.urls')),
- path("accounts/", include("django.contrib.auth.urls")),
- path('admin/', admin.site.urls)
+ path('admin/', admin.site.urls),
+ path('escaparate/', EscaparateView.as_view(), name='escaparate')
]
diff --git a/essenza/product/views.py b/essenza/product/views.py
index 91ea44a..a99ceba 100644
--- a/essenza/product/views.py
+++ b/essenza/product/views.py
@@ -1,3 +1,6 @@
from django.shortcuts import render
+from django.views import View
-# Create your views here.
+class EscaparateView(View):
+ def get(self, request):
+ return render(request, 'product/escaparate.html')
diff --git a/essenza/templates/product/escaparate.html b/essenza/templates/product/escaparate.html
new file mode 100644
index 0000000..54a3052
--- /dev/null
+++ b/essenza/templates/product/escaparate.html
@@ -0,0 +1,122 @@
+{% load static %}
+
+
+
+
+ Escaparate · Essenza
+
+
+
+
+
+
+
+
+
diff --git a/essenza/templates/user/login.html b/essenza/templates/user/login.html
index f1f47ba..5afa3d0 100644
--- a/essenza/templates/user/login.html
+++ b/essenza/templates/user/login.html
@@ -86,9 +86,7 @@ ESSENZA
-
- ¿Has olvidado la contraseña?
-
+
diff --git a/essenza/user/urls.py b/essenza/user/urls.py
index 04aeb23..685a14d 100644
--- a/essenza/user/urls.py
+++ b/essenza/user/urls.py
@@ -5,5 +5,7 @@
urlpatterns = [
path('login/', views.LoginView.as_view(), name='login'),
+ path('logout/', views.LogoutView.as_view(), name='logout'),
+
]
diff --git a/essenza/user/views.py b/essenza/user/views.py
index ed8a914..8cf1432 100644
--- a/essenza/user/views.py
+++ b/essenza/user/views.py
@@ -1,19 +1,19 @@
from django.shortcuts import render, redirect
from django.views import View
-from django.contrib.auth import authenticate, login
-
-from essenza.urls import home
+from django.contrib.auth import authenticate, login, logout
from .forms import LoginForm
class LoginView(View):
form_class = LoginForm
template_name = 'user/login.html'
-
def get(self, request, *args, **kwargs):
+ # Si el usuario ya está autenticado, lo mandamos a escaparate
+ logout(request)
if request.user.is_authenticated:
- return redirect('home')
+ return redirect('escaparate')
+ # Si no está autenticado, renderiza el formulario de login
return render(request, self.template_name, {'form': self.form_class()})
def post(self, request, *args, **kwargs):
@@ -22,13 +22,32 @@ def post(self, request, *args, **kwargs):
email = form.cleaned_data["email"]
password = form.cleaned_data["password"]
+ # Autenticamos al usuario
user = authenticate(request, username=email, password=password)
if user is not None:
login(request, user)
- return redirect('home')
+ # Redirige al escaparate después del login
+ return redirect('escaparate')
else:
+ # Si falla el login, muestra error en el formulario
form.add_error(None, "Usuario o contraseña incorrectos")
return render(request, self.template_name, {'form': form})
+
+class LogoutView(View):
+ """Cierra la sesión y borra la cookie de sesión."""
+
+ def get(self, request):
+ logout(request)
+ response = redirect('home')
+ # 🔥 borra cookie de sesión en el navegador
+ response.delete_cookie('sessionid')
+ return response
+
+ def post(self, request):
+ logout(request)
+ response = redirect('home')
+ response.delete_cookie('sessionid')
+ return response
\ No newline at end of file