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 una solución nube PostgreSQL lista para usar que proporciona una serie de beneficios, incluyendo:
- Conexiones y transferencias de datos ilimitadas.
- Interfaz web PgAdmin incluida.
- Muchos módulos incluidos como
PostGIS,TimescaleDByPgVector.- Actualizaciones sin esfuerzo con solo un clic.
- Rendimiento óptimo y seguridad robusta impulsada por una VM privada y dedicada.
Ahorre tiempo y simplifique su vida: ¡solo toma 5 minutos probar la solución de nube hosting PostgreSQL de Stackhero!
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