¡Bienvenido a Día 2 de 12 Días de DigitalOcean! Ayer, comenzamos a construir nuestro Servicio de Recordatorio de Cumpleaños, una aplicación simple que envía notificaciones por SMS para los cumpleaños próximos. 🎉 Configuramos una base de datos PostgreSQL en DigitalOcean para almacenar los detalles de contacto.
Hoy, nos conectaremos a esa base de datos utilizando Python y configuraremos nuestro proyecto para mantener a salvo las credenciales sensibles.
Al final de este artículo, tendrás un script de Python que obtiene datos de tu base de datos de forma segura y está listo para escalar cuando lo alojemos en DigitalOcean.
✨ ¿Por Qué Este Paso?
Configurar la base de datos fue solo el comienzo. Para construir cualquier aplicación significativa, necesitamos una forma de interactuar con esos datos de manera programática. Python facilita la conexión a bases de datos PostgreSQL, y con la ayuda de una biblioteca como pg8000, podemos trabajar con bases de datos PostgreSQL en solo unas pocas líneas de código.
Para mantener las cosas seguras, almacenaremos nuestras credenciales de base de datos en un archivo .env
y las cargaremos en nuestro script utilizando python-dotenv. Esto asegura que tus credenciales no estén codificadas en el script, lo que hace que sea más seguro compartir y desplegar tu aplicación.
🚀 Lo que aprenderás
Aquí está el plan para hoy:
- Almacenar credenciales sensibles en un archivo
.env
. - Usar
python-dotenv
para cargar esas credenciales en tu script. - Escribir un script de Python para conectarse de manera segura a tu base de datos PostgreSQL utilizando
pg8000
- Obtener y mostrar datos de la tabla
contacts
Al final de esto, tendrás una base sólida para construir la lógica de la aplicación.
🛠 Lo que necesitarás
Antes de sumergirnos, aquí tienes lo que necesitarás:
- La base de datos que configuramos en Día 1. TODO: Enlace a la URL del día 1
- Python instalado en tu máquina local (recomendamos Python 3.8+).
🧑🍳 Receta para el Día 2: Conectando a PostgreSQL con Python
Paso 1: Instalar las Bibliotecas Requeridas 📦
Para conectar Python a PostgreSQL y mantener nuestras credenciales seguras, utilizaremos dos bibliotecas clave:
- pg8000: Una biblioteca de Python puro que te permite conectarte e interactuar con bases de datos PostgreSQL.
- python-dotenv: Una utilidad para cargar credenciales sensibles (como nombres de usuario y contraseñas de bases de datos) desde un archivo
.env
, para que no tengas que codificarlas en tu script.
Vamos a instalarlas ahora. Ejecuta este comando en tu terminal:
Consejo Profesional: Si estás utilizando un entorno virtual (siempre es una buena idea), asegúrate de activarlo antes de ejecutar el comando anterior para mantener tus dependencias organizadas.
Paso 2: Crea un archivo .env 📂
En el directorio de tu proyecto, crea un archivo llamado .env. Aquí es donde almacenaremos nuestras credenciales de la base de datos. Agrega lo siguiente:
Reemplaza los valores de marcador de posición con las credenciales de Día 1.
Consejo Profesional: Agrega .env
a tu archivo .gitignore
para asegurarte de que tus credenciales no se suban accidentalmente al control de versiones.
Paso 3: Crea un script de Python 🐍
Crea un nuevo archivo llamado connect_to_db.py
, y configura el script para cargar las credenciales desde .env
usando python-dotenv
, y conectar a nuestra base de datos.
Aquí está el código para empezar:
Este script hace algunas cosas importantes:
- Carga las credenciales de forma segura desde tu archivo
.env
. - Establece una conexión a tu base de datos utilizando
pg8000.connect()
. - Imprime un mensaje de éxito o error dependiendo del resultado.
Paso 4: Prueba la Conexión ✅
Ahora, asegurémonos de que todo funcione. Ejecuta tu script:
Si todo está configurado correctamente, deberías ver:
Si hay un error:
- Verifica los valores en tu archivo .env.
- Asegúrate de que tu dirección IP esté añadida a las fuentes de confianza de la base de datos (consulta el Paso 6 del Día 1).
Paso 5: Obtener Datos de la Base de Datos 🔍
Ahora, ampliemos el script para obtener datos. Actualiza tu connect_to_db.py
script para incluir lo siguiente:
Este script ahora:
- Ejecuta una consulta para obtener todos los registros de la tabla de contactos.
- Imprime cada registro en la consola.
Nota: Si la tabla está vacía, ¡no te preocupes! Aún puedes verificar que el script se ejecute sin errores. Para probar, puedes agregar rápidamente un contacto de muestra abriendo tu base de datos usando psql
(o tu herramienta preferida) y ejecutando este comando SQL:
Si necesitas un recordatorio sobre cómo usar psql o quieres explorar herramientas de interfaz de usuario como pgAdmin o TablePlus, consulta las instrucciones en Día 1.
🎁 Resumen
Aquí está lo que lograste hoy:
✅ Instalaste las bibliotecas de Python requeridas.
✅ Te conectaste a tu base de datos PostgreSQL de DigitalOcean usando Python.
✅ Recuperaste datos de la tabla contacts
con una consulta simple.
Próximo: Mañana, comenzaremos a añadir lógica para encontrar cumpleaños próximos y enviar notificaciones SMS usando Twilio. Aquí es donde la aplicación comienza a cobrar vida—¡mantente atento! 🚀
Source:
https://www.digitalocean.com/community/tutorials/connecting-to-postgresql-database-with-python