Trabajar con variables de entorno con Dotenv
En el desarrollo de aplicaciones, especialmente en entornos de producci贸n, es crucial manejar las configuraciones y secretos de manera segura. La librer铆a python-dotenv facilita la carga de variables de entorno desde un archivo .env
en nuestro proyecto. Esto permite separar la configuraci贸n sensible del c贸digo fuente, mejorando la seguridad y la mantenibilidad de la aplicaci贸n.
Un archivo .env
es un archivo de texto plano que contiene pares clave-valor. Su uso principal es almacenar las configuraciones, como credenciales de bases de datos, claves API y otros par谩metros de configuraci贸n que no deber铆an estar expuestos en el c贸digo fuente. Por ejemplo:
1
2
3
DATABASE_URL=postgres://user:password@localhost/db_name
SECRET_KEY=my_secret_key
DEBUG=True
Para comenzar a utilizar python-dotenv
, primero debemos instalar la librer铆a. Podemos hacerlo con el administrador de paquetes pip
:
1
pip install python-dotenv
Una vez instalada la librer铆a, podemos cargar las variables de un archivo .env
en nuestra aplicaci贸n con la funci贸n load_dotenv
de la siguiente manera:
Es posible tener todas las configuraciones agrupadas en un diccionario, usando python-dotenv lo hace f谩cil con la funci贸n dotenv_values()
. La funci贸n dotenv_values()
funciona m谩s menos de la misma manera que load_dotenv()
, excepto que no toca el entorno y por ende no es necesario importar la librer铆a os
para obtener las variables de entornos, solo devuelve un dict
con los valores analizados en el archivo .env
. Ejemplo:
1
2
3
4
5
6
7
from dotenv import dotenv_values
config = dotenv_values()
print(config["USUARIO"]) # user1
print(config["DATABASE"]) # store
print(config["PORT"]) # 3306
1
2
3
USUARIO=user1
DATABASE=store
PORT=3306
Cuando se crea el archivo .env
en el proyecto con las variables necesarias. Aseg煤rate de no incluir este archivo en el control de versiones, como Git, recuerda agregar .env
en el archivo .gitignore
para evitar que se suba con el resto del c贸digo fuente a la plataforma en la nube.