0Pricing
Django Academy · Lezione

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
*.pyc

Il 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.py

Condividere 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 = True

Mettere 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.prod

Gli 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

  1. Gunicorn come server WSGI
  2. Nginx come reverse proxy
  3. WhiteNoise per i file statici
  4. Variabili d'ambiente e separazione delle impostazioni
← Torna a Django Academy