PostgreSQL: Korzystanie z PostgreSQL z Django
Ta dokumentacja jest częścią przewodnika Pierwsze kroki. Pełny przewodnik znajdziesz tutaj: Jak zacząć z PostgreSQL.
👋 Witamy w dokumentacji Stackhero!
Stackhero oferuje gotowe do użycia rozwiązanie PostgreSQL cloud, które zapewnia wiele korzyści, w tym:
- Nieograniczone połączenia i transfery danych.
- W zestawie interfejs webowy PgAdmin.
- Wiele modułów w zestawie, takich jak
PostGIS,TimescaleDBiPgVector.- Bezproblemowe aktualizacje za pomocą jednego kliknięcia.
- Optymalna wydajność i solidne zabezpieczenia dzięki prywatnej i dedykowanej VM.
Oszczędzaj czas i upraszczaj sobie życie: wypróbowanie rozwiązania Stackhero PostgreSQL cloud hosting zajmuje tylko 5 minut!
Jeśli nie jest jeszcze zainstalowany, zainstaluj moduł psycopg, który będzie używany do połączenia z PostgreSQL:
pip install psycopg
W tym początkowym kroku będziesz przechowywać hasło bezpośrednio w pliku settings.py. Ta metoda jest tylko do testów, ponieważ nie jest bezpieczna. Później w tej dokumentacji znajdziesz przykład najlepszej praktyki.
Otwórz plik settings.py i dodaj następującą konfigurację:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'HOST': '<XXXXXX>.stackhero-network.com',
'PORT': <PORT>,
'OPTIONS': {
'sslmode': 'require',
},
'NAME': 'admin',
'USER': 'admin',
'PASSWORD': '<ADMIN_PASSWORD>'
}
}
Uwaga: ten przykład nie jest zalecany do produkcji i jest przeznaczony tylko do celów testowych!
Gdy Twoje połączenie działa, możesz przyjąć bardziej bezpieczną metodę przechowywania poświadczeń. Poniższy przykład używa django-environ i przechowuje poświadczenia w pliku .env.
-
Zainstaluj
django-environ:pip install django-environ -
Otwórz plik
settings.pyi zmodyfikuj go w następujący sposób: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') } } -
Otwórz lub utwórz plik
.envw tym samym katalogu cosettings.pyi dodaj:STACKHERO_POSTGRESQL_HOST=<XXXXXX>.stackhero-network.com STACKHERO_POSTGRESQL_ADMIN_PASSWORD=<ADMIN_PASSWORD> -
Na koniec dodaj
.envdo swojego pliku.gitignore, aby upewnić się, że Twoje poświadczenia nie są przechowywane w repozytorium Git:
echo ".env" >> .gitignore