0Pricing
Django Academy · Lezione

WhiteNoise per i file statici

Distribuire le risorse statiche senza un hosting separato

WhiteNoise per i file statici è una lezione Django Academy gratuita su CoddyKit. Questa è la lezione 3 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.

Il problema dei file statici

In produzione Django non serve automaticamente CSS e JS. Di norma servono Nginx o una CDN, il che richiede una configurazione aggiuntiva. WhiteNoise semplifica il processo. 📦

Che cosa fa WhiteNoise

WhiteNoise permette all'app Django di servire in modo efficiente i propri file statici, così anche un semplice deploy con il solo Gunicorn può distribuire CSS e JS.

Ideale per host semplici

Su piattaforme come Heroku o in piccoli container, dove non esiste un web server separato per i file, WhiteNoise mantiene tutto in un unico processo.

Installare WhiteNoise

Aggiunga il pacchetto con pip, poi lo fissi in requirements.txt per mantenere i deploy riproducibili. WhiteNoise non richiede servizi aggiuntivi.

pip install whitenoise

Aggiungere il middleware

Inserisca WhiteNoiseMiddleware subito dopo SecurityMiddleware. L'ordine è importante, perché intercetta presto le richieste dei file statici.

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'whitenoise.middleware.WhiteNoiseMiddleware',
]

Impostare il backend di storage

Imposti STATICFILES_STORAGE su WhiteNoise per abilitare automaticamente la compressione e nomi di file con hash compatibili con la cache.

STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

Definire STATIC_ROOT

WhiteNoise serve ciò che raccoglie collectstatic, quindi STATIC_ROOT deve indicare la cartella in cui vengono salvati quei file.

STATIC_ROOT = BASE_DIR / 'staticfiles'

Eseguire collectstatic

Prima di servire i file, esegua collectstatic per copiare le risorse di ogni app in STATIC_ROOT. WhiteNoise legge da quella cartella unica.

python manage.py collectstatic --noinput

La compressione è inclusa

Il backend di storage compresso crea in anticipo le versioni gzip e brotli dei file, così i browser scaricano risorse più piccole e veloci.

Caching a lunghissima durata

WhiteNoise aggiunge un hash del contenuto a ogni nome di file e imposta header di cache con durata elevata, così i browser possono riutilizzare i file finché non cambiano davvero.

WhiteNoise e Nginx a confronto

WhiteNoise è più semplice, ma un Nginx dedicato o una CDN sono più veloci su scala molto grande. Scelga in base al traffico e alla configurazione di hosting.

Verifica rapida

Dove si registra WhiteNoise nel progetto?

Riepilogo

Ha abilitato WhiteNoise: lo ha installato, ha aggiunto il middleware, impostato lo storage compresso ed eseguito collectstatic; ora l'app serve autonomamente file statici memorizzati nella cache. 🎯

Domande Frequenti

La lezione «WhiteNoise per i file statici» è gratuita?

Sì — il testo completo di «WhiteNoise per i file statici» è 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 «WhiteNoise per i file statici»?

Distribuire le risorse statiche senza un hosting separato 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 3 di 4.

Quanto tempo richiede la lezione «WhiteNoise per i file statici»?

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