PostgreSQL: Gebruik van PostgreSQL met Django

Deze documentatie maakt deel uit van de Aan de slag-gids. Bekijk de volledige gids hier: Hoe te beginnen met PostgreSQL.

👋 Welkom bij de Stackhero-documentatie!

Stackhero biedt een gebruiksklare PostgreSQL cloud oplossing die tal van voordelen biedt, waaronder:

  • Onbeperkte verbindingen en datatransfers.
  • PgAdmin webinterface inbegrepen.
  • Veel modules inbegrepen zoals PostGIS, TimescaleDB en PgVector.
  • Moeiteloze updates met slechts één klik.
  • Optimale prestaties en robuuste beveiliging aangedreven door een privé en toegewijde VM.

Bespaar tijd en vereenvoudig uw leven: het kost slechts 5 minuten om de PostgreSQL cloud hosting oplossing van Stackhero te proberen!

Als het nog niet is geïnstalleerd, installeer dan de psycopg module, die zal worden gebruikt om verbinding te maken met PostgreSQL:

pip install psycopg

In deze eerste stap slaat u het wachtwoord direct op in het settings.py bestand. Deze methode is alleen voor testen omdat het niet veilig is. Later in deze documentatie vindt u een voorbeeld van best practice.

Open het settings.py bestand en voeg de volgende configuratie toe:

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

Let op: dit voorbeeld wordt niet aanbevolen voor productie en is alleen bedoeld voor testdoeleinden!

Zodra uw verbinding werkt, kunt u een veiligere methode aannemen om inloggegevens op te slaan. Het volgende voorbeeld gebruikt django-environ en slaat inloggegevens op in een .env bestand.

  1. Installeer django-environ:

    pip install django-environ
    
  2. Open het settings.py bestand en wijzig het als volgt:

    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. Open of maak het .env bestand in dezelfde directory als settings.py en voeg toe:

    STACKHERO_POSTGRESQL_HOST=<XXXXXX>.stackhero-network.com
    STACKHERO_POSTGRESQL_ADMIN_PASSWORD=<ADMIN_PASSWORD>
    
  4. Voeg ten slotte .env toe aan uw .gitignore bestand om ervoor te zorgen dat uw inloggegevens niet in uw Git-repository worden opgeslagen:

echo ".env" >> .gitignore