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:
copilot-swe-agent[bot]
2026-04-09 10:35:28 +00:00
committed by GitHub
parent 47ea00c822
commit ed92991872
66 changed files with 2580 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
# `producto`
**Archivo:** `tienda/views.py`
**URL:** `/tienda/producto/<id>/`
**Tipo:** Vista pública
## Descripción
Muestra la página de detalle de un producto. Implementa una capa de caché en Redis para mejorar el rendimiento: el producto se almacena durante 5 minutos con la clave `product_{id}`. Si el producto no está en caché, se obtiene de la base de datos junto con sus relaciones (`category`, `primary_image`, `creator`, `secondary_images`) y se guarda en caché.
## Firma
```python
def producto(request: HttpRequest, id: int):
```
## Parámetros
| Nombre | Tipo | Descripción |
|-----------|---------------|--------------------------------|
| `request` | `HttpRequest` | Petición HTTP de Django. |
| `id` | `int` | Identificador del producto. |
## Contexto del template
| Variable | Tipo | Descripción |
|-----------|-----------|-----------------------|
| `product` | `Product` | Instancia del producto. |
## Template
`tienda/producto.html`
> [!TIP]
> La caché se invalida automáticamente cuando el producto es editado o eliminado (ver [`editar_producto`](./editar_producto.md) y [`borrar_producto`](./borrar_producto.md)). La clave de caché tiene el formato `:1:product_{id}` en Redis (prefijo de la base de datos 1).