PostgreSQL: Uso de PostgreSQL con Django
Esta documentación forma parte de la guía Empezando. Consulte la guía completa aquí: Cómo empezar con PostgreSQL.
👋 ¡Bienvenido a la documentación de Stackhero!
Stackhero ofrece un servicio totalmente gestionado de PostgreSQL en la nube, diseñado para garantizar fiabilidad y velocidad:
- Conexiones y transferencias de datos ilimitadas para una escalabilidad sin límites.
- Interfaz web PgAdmin incluida para una gestión intuitiva de la base de datos.
- Extensiones populares incluidas, como
PostGIS,TimescaleDByPgVector.- Actualizaciones sencillas y automáticas con un solo clic para mantener su base de datos segura y actualizada.
- Alto rendimiento y máxima seguridad sobre infraestructura privada y dedicada.
Puede empezar a utilizar el hosting PostgreSQL en la nube de Stackhero en solo unos minutos. Disfrute de una experiencia de base de datos fiable y ahorre tiempo valioso en la gestión de sus datos.
Si no está ya instalado, instale el módulo psycopg, que se usará para conectarse a PostgreSQL:
pip install psycopg
En este paso inicial, almacenará la contraseña directamente en el archivo settings.py. Este método es solo para pruebas porque no es seguro. Más adelante en esta documentación, encontrará un ejemplo de buena práctica.
Abra el archivo settings.py y agregue la siguiente configuración:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'HOST': '<XXXXXX>.stackhero-network.com',
'PORT': <PORT>,
'OPTIONS': {
'sslmode': 'require',
},
'NAME': 'admin',
'USER': 'admin',
'PASSWORD': '<ADMIN_PASSWORD>'
}
}
Tenga cuidado: este ejemplo no se recomienda para producción y está destinado solo para fines de prueba.
Una vez que su conexión funcione, puede adoptar un método más seguro para almacenar credenciales. El siguiente ejemplo usa django-environ y almacena credenciales en un archivo .env.
-
Instale
django-environ:pip install django-environ -
Abra el archivo
settings.pyy modifíquelo como sigue:import environ env = environ.Env() environ.Env.read_env() DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'HOST': env('STACKHERO_POSTGRESQL_HOST'), 'PORT': <PORT>, 'OPTIONS': { 'sslmode': 'require', }, 'NAME': 'admin', 'USER': 'admin', 'PASSWORD': env('STACKHERO_POSTGRESQL_ADMIN_PASSWORD') } } -
Abra o cree el archivo
.enven el mismo directorio quesettings.pyy agregue:STACKHERO_POSTGRESQL_HOST=<XXXXXX>.stackhero-network.com STACKHERO_POSTGRESQL_ADMIN_PASSWORD=<ADMIN_PASSWORD> -
Finalmente, agregue
.enva su archivo.gitignorepara asegurarse de que sus credenciales no se almacenen en su repositorio Git:
echo ".env" >> .gitignore