PostgreSQL: Utilizzo di PostgreSQL con Django
Questa documentazione fa parte della guida Iniziare. Consulta la guida completa qui: Come iniziare con PostgreSQL.
👋 Benvenuti nella documentazione di Stackhero!
Stackhero offre una soluzione cloud PostgreSQL pronta all'uso che fornisce una serie di vantaggi, tra cui:
- Connessioni e trasferimenti di dati illimitati.
- Interfaccia web PgAdmin inclusa.
- Molti moduli inclusi come
PostGIS,TimescaleDBePgVector.- Aggiornamenti senza sforzo con un solo clic.
- Prestazioni ottimali e sicurezza robusta grazie a una VM privata e dedicata.
Risparmia tempo e semplifica la tua vita: ci vogliono solo 5 minuti per provare la soluzione di cloud hosting PostgreSQL di Stackhero!
Se non è già installato, installa il modulo psycopg, che verrà utilizzato per connettersi a PostgreSQL:
pip install psycopg
In questo passaggio iniziale, memorizzerai la password direttamente nel file settings.py. Questo metodo è solo per test perché non è sicuro. Più avanti in questa documentazione, troverai un esempio di buona pratica.
Apri il file settings.py e aggiungi la seguente configurazione:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'HOST': '<XXXXXX>.stackhero-network.com',
'PORT': <PORT>,
'OPTIONS': {
'sslmode': 'require',
},
'NAME': 'admin',
'USER': 'admin',
'PASSWORD': '<ADMIN_PASSWORD>'
}
}
Attenzione: questo esempio non è raccomandato per la produzione ed è destinato solo a scopi di test!
Una volta che la tua connessione funziona, puoi adottare un metodo più sicuro per memorizzare le credenziali. L'esempio seguente utilizza django-environ e memorizza le credenziali in un file .env.
-
Installa
django-environ:pip install django-environ -
Apri il file
settings.pye modificalo come segue: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') } } -
Apri o crea il file
.envnella stessa directory disettings.pye aggiungi:STACKHERO_POSTGRESQL_HOST=<XXXXXX>.stackhero-network.com STACKHERO_POSTGRESQL_ADMIN_PASSWORD=<ADMIN_PASSWORD> -
Infine, aggiungi
.enval tuo file.gitignoreper assicurarti che le tue credenziali non siano memorizzate nel tuo repository Git:
echo ".env" >> .gitignore