Variabili d'ambiente e separazione delle impostazioni
Separare in sicurezza la configurazione di sviluppo e produzione
Variabili d'ambiente e separazione delle impostazioni è una lezione Django Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Django Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Django Academy include 4 lezioni in totale.
Un solo file di impostazioni è rischioso
Un unico settings.py con DEBUG attivo e segreti scritti direttamente nel codice va bene in locale, ma è pericoloso in produzione. La produzione richiede una configuration sicura dedicata. 🔒
Sviluppo e produzione sono diversi
Gli ambienti locali e di produzione richiedono settings diversi: debug, host consentiti, database ed e-mail cambiano da un ambiente all'altro.
Perché usare le variabili d'ambiente
I segreti, come le password, non devono mai trovarsi nel codice o in git. Le environment variables li inseriscono durante l'esecuzione, mantenendoli fuori dal repository.
Leggere con os.environ
Recuperi un valore dall'ambiente con os.environ. Utilizzi un valore predefinito, così l'assenza di variabili locali non interrompe lo sviluppo.
import os
SECRET_KEY = os.environ.get('SECRET_KEY', 'dev-only')Caricare un file .env
Strumenti come python-dotenv caricano le variabili da un file .env locale, così non deve esportarle manualmente a ogni sessione.
from dotenv import load_dotenv
load_dotenv()Non eseguire mai il commit di .env
Aggiunga .env al suo .gitignore. Eseguirne il commit esporrebbe ogni segreto, vanificando completamente il motivo per cui si usano le variabili d'ambiente.
.env
*.pycIl package delle impostazioni
Divida le impostazioni in un package: trasformi settings.py in una cartella contenente i moduli base, dev e prod, che condividono la configurazione comune.
settings/
__init__.py
base.py
dev.py
prod.pyCondividere con base.py
Inserisca tutto ciò che è comune in base.py. I file dev e prod lo importano, sovrascrivendo poi solo ciò che differisce realmente.
from .base import *
DEBUG = TrueMettere in sicurezza prod.py
In prod.py mantenga DEBUG disattivato e legga SECRET_KEY e ALLOWED_HOSTS dall'ambiente, mai da un valore letterale nel file.
from .base import *
DEBUG = False
ALLOWED_HOSTS = os.environ['ALLOWED_HOSTS'].split(',')Scegliere il modulo
Scelga quali impostazioni caricare con la variabile DJANGO_SETTINGS_MODULE. Dev punta a settings.dev, mentre il server punta a settings.prod.
export DJANGO_SETTINGS_MODULE=myproject.settings.prodGli helper tipizzati sono utili
Librerie come django-environ analizzano i valori dell'ambiente trasformandoli in booleani, liste e URL di database, evitando conversioni manuali di stringhe poco leggibili.
Verifica rapida
Da dove dovrebbe provenire la SECRET_KEY di produzione?
Riepilogo
Ha imparato a dividere le settings in base, dev e prod, mantenere i segreti nelle variabili d'ambiente e in .env e selezionare il modulo in base all'ambiente. 🎯
Domande Frequenti
La lezione «Variabili d'ambiente e separazione delle impostazioni» è gratuita?
Sì — il testo completo di «Variabili d'ambiente e separazione delle impostazioni» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Django Academy, passa a CoddyKit PRO. Il corso Django Academy include 4 lezioni in totale.
Cosa imparerò in «Variabili d'ambiente e separazione delle impostazioni»?
Separare in sicurezza la configurazione di sviluppo e produzione Eserciti Django Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Django Academy?
Non è richiesta alcuna esperienza precedente. Django Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Variabili d'ambiente e separazione delle impostazioni»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Django Academy?
Sì. Ogni lezione Django Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Gunicorn come server WSGI
- Nginx come reverse proxy
- WhiteNoise per i file statici
- Variabili d'ambiente e separazione delle impostazioni