docs: add full documentation for all functions in tienda/views.py
Agent-Logs-Url: https://github.com/dsaub/proyecto-final/sessions/49df17c8-213a-4e23-adfe-465a0104f6a3 Co-authored-by: dsaub <54474838+dsaub@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
47ea00c822
commit
ed92991872
@@ -0,0 +1,50 @@
|
||||
# `login`
|
||||
|
||||
**Archivo:** `tienda/views.py`
|
||||
**URL:** `/tienda/login/`
|
||||
**Tipo:** Vista pública
|
||||
|
||||
## Descripción
|
||||
|
||||
Gestiona el inicio de sesión de un usuario.
|
||||
|
||||
- **GET** → Renderiza el formulario de login.
|
||||
- **POST** → Autentica al usuario con email y contraseña.
|
||||
- Si el correo no existe: muestra error y registra el intento fallido.
|
||||
- Si la cuenta no está verificada (`registration_status == "CR"`): muestra error sin autenticar.
|
||||
- Si las credenciales son correctas: inicia la sesión, configura su duración, envía un correo de bienvenida asíncrono (tarea Celery) y redirige al catálogo.
|
||||
- Si la contraseña es incorrecta: muestra error y registra el intento fallido.
|
||||
|
||||
## Firma
|
||||
|
||||
```python
|
||||
def login(request: HttpRequest):
|
||||
```
|
||||
|
||||
## Parámetros
|
||||
|
||||
| Nombre | Tipo | Descripción |
|
||||
|-----------|---------------|-----------------------|
|
||||
| `request` | `HttpRequest` | Petición HTTP de Django. |
|
||||
|
||||
## Campos del formulario POST
|
||||
|
||||
| Campo | Descripción |
|
||||
|-------------|-----------------------------------------------------------------------|
|
||||
| `email` | Correo electrónico del usuario. |
|
||||
| `password` | Contraseña del usuario. |
|
||||
| `remember` | Si está presente, la sesión dura 14 días; de lo contrario, expira al cerrar el navegador. |
|
||||
|
||||
## Redirecciones
|
||||
|
||||
| Caso | Destino |
|
||||
|-----------------------------|-----------------|
|
||||
| Login correcto | `index` |
|
||||
| Login fallido / cuenta no verificada | Mismo template `tienda/login.html` |
|
||||
|
||||
## Template
|
||||
|
||||
`tienda/login.html`
|
||||
|
||||
> [!NOTE]
|
||||
> Los intentos de inicio de sesión (correctos y fallidos) se registran en el logger de auditoría `tienda.audit` con la IP del cliente.
|
||||
Reference in New Issue
Block a user