PostgreSQL: Verwendung von PostgreSQL mit Django

Diese Dokumentation ist Teil des Erste Schritte-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Wie man mit PostgreSQL beginnt.

👋 Willkommen in der Stackhero-Dokumentation!

Stackhero bietet einen vollständig verwalteten PostgreSQL Cloud Service, der auf Zuverlässigkeit und Geschwindigkeit ausgelegt ist:

  • Unbegrenzte Verbindungen und Datenübertragungen für nahtlose Skalierung.
  • PgAdmin Web-Oberfläche inklusive für eine intuitive Datenbankverwaltung.
  • Beliebte Erweiterungen inklusive, wie PostGIS, TimescaleDB und PgVector.
  • Einfache Updates per Klick halten Ihre Datenbank sicher und aktuell.
  • Hohe Performance und starke Sicherheit auf privater, dedizierter Infrastruktur.

Sie können mit dem PostgreSQL Cloud Hosting von Stackhero in nur wenigen Minuten starten. Profitieren Sie von einer zuverlässigen Datenbanklösung und sparen Sie wertvolle Zeit beim Datenmanagement.

Falls noch nicht installiert, installieren Sie das psycopg-Modul, das zur Verbindung mit PostgreSQL verwendet wird:

pip install psycopg

In diesem ersten Schritt speichern Sie das Passwort direkt in der settings.py-Datei. Diese Methode ist nur für Tests gedacht, da sie nicht sicher ist. Weiter in dieser Dokumentation finden Sie ein Beispiel für bewährte Praktiken.

Öffnen Sie die settings.py-Datei und fügen Sie die folgende Konfiguration hinzu:

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

Achtung: Dieses Beispiel wird nicht für die Produktion empfohlen und ist nur für Testzwecke gedacht!

Sobald Ihre Verbindung funktioniert, können Sie eine sicherere Methode zur Speicherung von Anmeldeinformationen übernehmen. Das folgende Beispiel verwendet django-environ und speichert Anmeldeinformationen in einer .env-Datei.

  1. Installieren Sie django-environ:

    pip install django-environ
    
  2. Öffnen Sie die settings.py-Datei und ändern Sie sie wie folgt:

    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. Öffnen oder erstellen Sie die .env-Datei im selben Verzeichnis wie settings.py und fügen Sie hinzu:

    STACKHERO_POSTGRESQL_HOST=<XXXXXX>.stackhero-network.com
    STACKHERO_POSTGRESQL_ADMIN_PASSWORD=<ADMIN_PASSWORD>
    
  4. Fügen Sie schließlich .env zu Ihrer .gitignore-Datei hinzu, um sicherzustellen, dass Ihre Anmeldeinformationen nicht in Ihrem Git-Repository gespeichert werden:

echo ".env" >> .gitignore