Files
proyecto-final/docs/views/editar_perfil.md

48 lines
1.2 KiB
Markdown

# `editar_perfil`
**Archivo:** `tienda/views.py`
**URL:** `/tienda/usuario/editar-perfil/`
**Tipo:** Vista privada (requiere autenticación)
**Decorador:** `@login_required`
## Descripción
Permite al usuario editar su información de perfil (nombre, apellido y correo electrónico).
- **GET** → Renderiza el formulario con los datos actuales.
- **POST** → Valida y guarda los cambios.
- Verifica que el nuevo email no esté ya en uso por otro usuario.
- Actualiza `first_name`, `last_name` y `email` del usuario.
- Redirige al portal de usuario.
## Firma
```python
def editar_perfil(request: HttpRequest):
```
## Parámetros
| Nombre | Tipo | Descripción |
|-----------|---------------|-----------------------|
| `request` | `HttpRequest` | Petición HTTP de Django. |
## Campos del formulario POST
| Campo | Descripción |
|--------------|-------------------------|
| `first_name` | Nombre del usuario. |
| `last_name` | Apellido del usuario. |
| `email` | Correo electrónico. |
## Redirecciones
| Caso | Destino |
|--------|------------------|
| Éxito | `portal_usuario` |
| Error | Mismo template |
## Template
`tienda/editar_perfil.html`