Skip to content

Commit 0b8999a

Browse files
committed
mejorando update
1 parent 5add806 commit 0b8999a

File tree

4 files changed

+109
-67
lines changed

4 files changed

+109
-67
lines changed

README.md

Lines changed: 79 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,96 @@
1-
## CRUD con Python 🐍 MySQL 💾 y un Dashboard Asombroso 🚀
1+
# CRUD con Python 🐍 MySQL 📂 y un Dashboard Asombroso 🚀
22

3-
##### Aprende a desarrollar un sistema CRUD utilizando Python 🐍 y MySQL 💾 mientras creas un impresionante panel de control. Este curso te guiará a través de la creación de aplicaciones interactivas y eficientes, permitiéndote gestionar datos con facilidad.
3+
Aprende a desarrollar un sistema **CRUD** utilizando **Python 🐍** y **MySQL 📂** mientras creas un impresionante panel de control interactivo. Este proyecto es ideal para quienes buscan gestionar datos de manera eficiente y construir aplicaciones dinámicas con una interfaz amigable.
44

5-
![](https://raw.githubusercontent.com/urian121/imagenes-proyectos-github/master/Dashboard-python-login-urian-viera.png)
5+
## Vista previa 🗃
66

7-
![](https://raw.githubusercontent.com/urian121/imagenes-proyectos-github/master/dashboard-python-crear-user-urian-viera.png)
7+
![Dashboard Login](https://raw.githubusercontent.com/urian121/imagenes-proyectos-github/master/Dashboard-python-login-urian-viera.png)
88

9-
![](https://raw.githubusercontent.com/urian121/imagenes-proyectos-github/master/dashboard-python-recuperar-clave-urian-viera.png)
9+
![Crear Usuario](https://raw.githubusercontent.com/urian121/imagenes-proyectos-github/master/dashboard-python-crear-user-urian-viera.png)
1010

11-
![](https://raw.githubusercontent.com/urian121/imagenes-proyectos-github/master/dashborad-python-home-urian-viera.png)
11+
![Recuperar Contraseña](https://raw.githubusercontent.com/urian121/imagenes-proyectos-github/master/dashboard-python-recuperar-clave-urian-viera.png)
1212

13-
![](https://raw.githubusercontent.com/urian121/imagenes-proyectos-github/master/dashboard-python-registrar-cliente-urian-viera.png)
13+
![Panel Principal](https://raw.githubusercontent.com/urian121/imagenes-proyectos-github/master/dashborad-python-home-urian-viera.png)
1414

15-
![](https://raw.githubusercontent.com/urian121/imagenes-proyectos-github/master/dashboard-python-lista-empleados-urian-viera.png)
15+
![Registrar Cliente](https://raw.githubusercontent.com/urian121/imagenes-proyectos-github/master/dashboard-python-registrar-cliente-urian-viera.png)
1616

17-
![](https://raw.githubusercontent.com/urian121/imagenes-proyectos-github/master/dashboard-python-lista-usuarios-urian-viera.png)
17+
![Lista de Empleados](https://raw.githubusercontent.com/urian121/imagenes-proyectos-github/master/dashboard-python-lista-empleados-urian-viera.png)
1818

19-
![](https://raw.githubusercontent.com/urian121/imagenes-proyectos-github/master/dashboard-python-editar-perfil-urian-viera.png)
19+
![Lista de Usuarios](https://raw.githubusercontent.com/urian121/imagenes-proyectos-github/master/dashboard-python-lista-usuarios-urian-viera.png)
2020

21-
![](https://raw.githubusercontent.com/urian121/imagenes-proyectos-github/master/dashboard-python-reporte-empleados-urian-viera.png)
21+
![Editar Perfil](https://raw.githubusercontent.com/urian121/imagenes-proyectos-github/master/dashboard-python-editar-perfil-urian-viera.png)
2222

23-
### Requerimientos 📋
23+
![Reporte de Empleados](https://raw.githubusercontent.com/urian121/imagenes-proyectos-github/master/dashboard-python-reporte-empleados-urian-viera.png)
2424

25-
Servidor Web (Apache)
26-
MySQL 5 o superior
27-
phpMyAdmin (opcional)
28-
Puedes usar un todo en uno como XAMPP, WAMPP u otro.
25+
---
2926

30-
### Instrucciones para descarga 🔧
27+
## Requerimientos 📋
3128

32-
Descarga el proyecto
33-
Importa el archivo crud_python.sql a MySQL
34-
Cambia los datos de conexión en el archivo conexionBD.py
35-
Crea el entono virtual (opcional) `virtualenv env`
36-
Activas tu entorno virtual . env/Scripts/activate`
37-
Ejecutas el archivo `pip install -r requirements.txt` para instalar todos paquetes o dependencias del proyecto.
38-
Ingresa desde un navegador a http://127.0.0.1:5600/
29+
Para ejecutar este proyecto, necesitas:
3930

40-
### Expresiones de Gratitud 🎁
31+
- **Servidor Web:** Apache (o equivalente).
32+
- **Base de Datos:** MySQL 5 o superior.
33+
- **phpMyAdmin:** Opcional, para gestionar la base de datos.
34+
- **Entorno de desarrollo todo en uno:** XAMPP, WAMPP u otra alternativa.
4135

42-
Comenta a otros sobre este proyecto 📢
43-
Invita una cerveza 🍺 o un café ☕
44-
Paypal iamdeveloper86@gmail.com
45-
Da las gracias públicamente 🤓.
36+
---
4637

47-
## No olvides SUSCRIBIRTE 👍
38+
## Instrucciones para la descarga e instalación 🔧
39+
40+
1. **Descarga el proyecto:** Clona este repositorio o descárgalo como archivo ZIP.
41+
42+
```bash
43+
git clone https://github.com/urian121/CRUD-COMPLETO-con-Python-MySQL-y-un-Dashboard.git
44+
```
45+
46+
2. **Importa la base de datos:**
47+
- Entra a phpMyAdmin (o cualquier gestor MySQL).
48+
- Importa el archivo `crud_python.sql` incluido en el proyecto.
49+
50+
3. **Configura la conexión:**
51+
- Abre el archivo `conexionBD.py`.
52+
- Actualiza los datos de conexión (host, usuario, contraseña, base de datos).
53+
54+
4. **Crea un entorno virtual (opcional):**
55+
56+
```bash
57+
python -m venv env
58+
source env/bin/activate # En Linux/Mac
59+
env\Scripts\activate # En Windows
60+
```
61+
62+
5. **Instala las dependencias:**
63+
64+
```bash
65+
pip install -r requirements.txt
66+
```
67+
68+
6. **Ejecuta la aplicación:**
69+
70+
```bash
71+
python app.py
72+
```
73+
74+
7. **Accede desde el navegador:**
75+
76+
- Ingresa a: [http://127.0.0.1:5600/](http://127.0.0.1:5600/)
77+
78+
---
79+
80+
## Expresiones de Gratitud 🎁
81+
82+
- **Comenta:** Comparte este proyecto con otros desarrolladores 📢.
83+
- **Invita una cerveza o un café:** 🍺🍵 [Paypal](mailto:iamdeveloper86@gmail.com).
84+
- **Da crédito:** Agradece en tus redes sociales 😎.
85+
86+
## Notas finales 🖐️
87+
88+
No olvides suscribirte y dejar tus comentarios. Este proyecto es una base que puedes mejorar y personalizar según tus necesidades.
89+
90+
🔹 **Autor:** Urian Viera
91+
92+
---
93+
94+
🔗 [Repositorio en GitHub](https://github.com/urian121/CRUD-COMPLETO-con-Python-MySQL-y-un-Dashboard)
95+
96+
🔹 Si encuentras útil este proyecto, ¡dale una estrella en GitHub! 🌟

my-app/controllers/funciones_home.py

Lines changed: 30 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -279,56 +279,49 @@ def procesar_actualizacion_form(data):
279279
try:
280280
with connectionBD() as conexion_MySQLdb:
281281
with conexion_MySQLdb.cursor(dictionary=True) as cursor:
282+
# Extraer y procesar datos del formulario
282283
nombre_empleado = data.form['nombre_empleado']
283284
apellido_empleado = data.form['apellido_empleado']
284285
sexo_empleado = data.form['sexo_empleado']
285286
telefono_empleado = data.form['telefono_empleado']
286287
email_empleado = data.form['email_empleado']
287288
profesion_empleado = data.form['profesion_empleado']
288289

289-
salario_sin_puntos = re.sub(
290-
'[^0-9]+', '', data.form['salario_empleado'])
290+
# Procesar salario eliminando caracteres no numéricos
291+
salario_sin_puntos = re.sub('[^0-9]+', '', data.form['salario_empleado'])
291292
salario_empleado = int(salario_sin_puntos)
292293
id_empleado = data.form['id_empleado']
293294

294-
if data.files['foto_empleado']:
295+
# Construir consulta SQL y parámetros dinámicamente
296+
query_base = """
297+
UPDATE tbl_empleados
298+
SET
299+
nombre_empleado = %s,
300+
apellido_empleado = %s,
301+
sexo_empleado = %s,
302+
telefono_empleado = %s,
303+
email_empleado = %s,
304+
profesion_empleado = %s,
305+
salario_empleado = %s
306+
"""
307+
params = [
308+
nombre_empleado, apellido_empleado, sexo_empleado,
309+
telefono_empleado, email_empleado, profesion_empleado, salario_empleado
310+
]
311+
312+
# Verificar si se subió un archivo de foto
313+
if 'foto_empleado' in data.files and data.files['foto_empleado'].filename != '':
295314
file = data.files['foto_empleado']
296315
fotoForm = procesar_imagen_perfil(file)
316+
query_base += ", foto_empleado = %s"
317+
params.append(fotoForm)
297318

298-
querySQL = """
299-
UPDATE tbl_empleados
300-
SET
301-
nombre_empleado = %s,
302-
apellido_empleado = %s,
303-
sexo_empleado = %s,
304-
telefono_empleado = %s,
305-
email_empleado = %s,
306-
profesion_empleado = %s,
307-
salario_empleado = %s,
308-
foto_empleado = %s
309-
WHERE id_empleado = %s
310-
"""
311-
values = (nombre_empleado, apellido_empleado, sexo_empleado,
312-
telefono_empleado, email_empleado, profesion_empleado,
313-
salario_empleado, fotoForm, id_empleado)
314-
else:
315-
querySQL = """
316-
UPDATE tbl_empleados
317-
SET
318-
nombre_empleado = %s,
319-
apellido_empleado = %s,
320-
sexo_empleado = %s,
321-
telefono_empleado = %s,
322-
email_empleado = %s,
323-
profesion_empleado = %s,
324-
salario_empleado = %s
325-
WHERE id_empleado = %s
326-
"""
327-
values = (nombre_empleado, apellido_empleado, sexo_empleado,
328-
telefono_empleado, email_empleado, profesion_empleado,
329-
salario_empleado, id_empleado)
330-
331-
cursor.execute(querySQL, values)
319+
# Agregar condición WHERE
320+
query_base += " WHERE id_empleado = %s"
321+
params.append(id_empleado)
322+
323+
# Ejecutar la consulta
324+
cursor.execute(query_base, params)
332325
conexion_MySQLdb.commit()
333326

334327
return cursor.rowcount or []
5.09 KB
Binary file not shown.
6.97 KB
Loading

0 commit comments

Comments
 (0)