PostgreSQL: Utilisation de PostgreSQL avec Django

Cette documentation fait partie du guide Premiers pas. Consultez le guide complet ici : Comment débuter avec PostgreSQL.

👋 Bienvenue dans la documentation Stackhero !

Stackhero offre un service PostgreSQL cloud entièrement géré, conçu pour la fiabilité et la rapidité :

  • Connexions et transferts de données illimités pour une montée en charge sans contrainte.
  • Interface web PgAdmin incluse pour une gestion intuitive de vos bases de données.
  • Extensions populaires incluses, telles que PostGIS, TimescaleDB et PgVector.
  • Mises à jour simples et en un clic pour garder votre base de données sécurisée et à jour.
  • Performance élevée et sécurité renforcée sur une infrastructure privée et dédiée.

Vous pouvez démarrer avec l'hébergement PostgreSQL cloud de Stackhero en seulement quelques minutes. Profitez d'une expérience fiable et gagnez un temps précieux dans la gestion de vos données.

S'il n'est pas déjà installé, installez le module psycopg, qui sera utilisé pour se connecter à PostgreSQL :

pip install psycopg

Dans cette étape initiale, vous allez stocker le mot de passe directement dans le fichier settings.py. Cette méthode est uniquement pour les tests car elle n'est pas sécurisée. Plus loin dans cette documentation, vous trouverez un exemple de bonne pratique.

Ouvrez le fichier settings.py et ajoutez la configuration suivante :

DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.postgresql',
    'HOST': '<XXXXXX>.stackhero-network.com',
    'PORT': <PORT>,
    'OPTIONS': {
      'sslmode': 'require',
    },
    'NAME': 'admin',
    'USER': 'admin',
    'PASSWORD': '<ADMIN_PASSWORD>'
  }
}

Attention : cet exemple n'est pas recommandé pour la production et est destiné uniquement à des fins de test !

Une fois votre connexion fonctionnelle, vous pouvez adopter une méthode plus sécurisée pour stocker les identifiants. L'exemple suivant utilise django-environ et stocke les identifiants dans un fichier .env.

  1. Installez django-environ :

    pip install django-environ
    
  2. Ouvrez le fichier settings.py et modifiez-le comme suit :

    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')
      }
    }
    
  3. Ouvrez ou créez le fichier .env dans le même répertoire que settings.py et ajoutez :

    STACKHERO_POSTGRESQL_HOST=<XXXXXX>.stackhero-network.com
    STACKHERO_POSTGRESQL_ADMIN_PASSWORD=<ADMIN_PASSWORD>
    
  4. Enfin, ajoutez .env à votre fichier .gitignore pour vous assurer que vos identifiants ne sont pas stockés dans votre dépôt Git :

echo ".env" >> .gitignore