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 un servizio PostgreSQL cloud completamente gestito, progettato per garantire affidabilità e velocità:
- Connessioni e trasferimenti dati illimitati per una scalabilità senza limiti.
- Interfaccia web PgAdmin inclusa per una gestione intuitiva del database.
- Estensioni popolari incluse, come
PostGIS,TimescaleDBePgVector.- Aggiornamenti semplici e immediati con un solo clic per mantenere il database sicuro e aggiornato.
- Elevate prestazioni e massima sicurezza su infrastruttura privata e dedicata.
Potete iniziare con il PostgreSQL cloud hosting di Stackhero in pochi minuti. Godetevi un'esperienza database affidabile e risparmiate tempo prezioso nella gestione dei vostri dati.
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