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 sur la documentation de Stackhero !
Stackhero propose une solution cloud PostgreSQL prête à l'emploi qui offre de nombreux avantages, notamment :
- Connexions et transferts de données illimités.
- Interface web PgAdmin incluse.
- De nombreux modules inclus comme
PostGIS,TimescaleDBetPgVector.- Mises à jour sans effort en un clic.
- Performance optimale et sécurité robuste grâce à une VM privée et dédiée.
Gagnez du temps et simplifiez-vous la vie : il ne faut que 5 minutes pour essayer la solution cloud hosting PostgreSQL de Stackhero !
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.
-
Installez
django-environ:pip install django-environ -
Ouvrez le fichier
settings.pyet 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') } } -
Ouvrez ou créez le fichier
.envdans le même répertoire quesettings.pyet ajoutez :STACKHERO_POSTGRESQL_HOST=<XXXXXX>.stackhero-network.com STACKHERO_POSTGRESQL_ADMIN_PASSWORD=<ADMIN_PASSWORD> -
Enfin, ajoutez
.envà votre fichier.gitignorepour vous assurer que vos identifiants ne sont pas stockés dans votre dépôt Git :
echo ".env" >> .gitignore