ed92991872
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>
1.5 KiB
1.5 KiB
cambiar_contrasena
Archivo: tienda/views.py
URL: /tienda/usuario/cambiar-contrasena/
Tipo: Vista privada (requiere autenticación)
Método HTTP: Solo POST
Decorador: @login_required
Descripción
Cambia la contraseña del usuario autenticado tras verificar la contraseña actual.
- Verifica que la contraseña actual sea correcta.
- Comprueba que la nueva contraseña y su confirmación coincidan.
- Valida que la nueva contraseña tenga al menos 8 caracteres.
- Establece la nueva contraseña y vuelve a iniciar sesión para mantener la sesión activa.
Firma
def cambiar_contrasena(request: HttpRequest):
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
request |
HttpRequest |
Petición HTTP de Django. |
Campos del formulario POST
| Campo | Descripción |
|---|---|
current_password |
Contraseña actual del usuario. |
new_password |
Nueva contraseña (mínimo 8 caracteres). |
confirm_password |
Confirmación de la nueva contraseña. |
Redirecciones
| Caso | Destino |
|---|---|
| Éxito | portal_usuario |
| Error | Template tienda/editar_perfil.html |
| GET | editar_perfil |
Note
Tras cambiar la contraseña se llama a
auth_loginpara re-autenticar al usuario y evitar que la sesión quede invalidada.