Django Academy · Lektion

WhiteNoise til statiske filer

Udrul statiske assets uden separat hosting

Lektion 3 af 413 trin

WhiteNoise til statiske filer er en gratis Django Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Django Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Django Academy-kurset indeholder 4 lektioner i alt.

Problemet med statiske filer

I produktion leverer Django ikke din CSS og JS for dig. Normalt har du brug for Nginx eller et CDN, hvilket kræver ekstra opsætning. WhiteNoise gør det enklere. 📦

Hvad WhiteNoise gør

WhiteNoise lader din Django-applikation levere sine egne statiske filer effektivt, så en enkel udrulning, der kun bruger Gunicorn, også kan levere CSS og JS.

Fantastisk til enkle værter

På platforme som Heroku eller i små containere, hvor der ikke er en separat webserver til filer, holder WhiteNoise alt i én proces.

Installér WhiteNoise

Tilføj pakken med pip, og fastlås den derefter i requirements.txt, så dine udrulninger forbliver reproducerbare. WhiteNoise kræver ingen ekstra tjenester.

pip install whitenoise

Tilføj middleware

Indsæt WhiteNoiseMiddleware lige efter SecurityMiddleware. Rækkefølgen er vigtig, fordi den opfanger statiske forespørgsler tidligt i kæden.

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

Indstil lagerbackend

Ret STATICFILES_STORAGE mod WhiteNoise for automatisk at aktivere komprimering og cachevenlige filnavne med hash.

STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

Definér STATIC_ROOT

WhiteNoise leverer det, som collectstatic indsamler, så STATIC_ROOT skal pege på den mappe, hvor filerne placeres.

STATIC_ROOT = BASE_DIR / 'staticfiles'

Kør collectstatic

Før levering skal du køre collectstatic for at kopiere alle appens aktiver til STATIC_ROOT. WhiteNoise læser fra denne ene mappe.

python manage.py collectstatic --noinput

Komprimering følger med

Den komprimerede lagerbackend opbygger gzip- og brotli-versioner af dine filer på forhånd, så browsere downloader mindre og hurtigere aktiver.

Caching langt ud i fremtiden

WhiteNoise tilføjer en indholdshash til hvert filnavn og angiver lange cache-headere, så browsere sikkert kan genbruge filer, indtil de faktisk ændres.

WhiteNoise kontra Nginx

WhiteNoise vinder på enkelhed, men en dedikeret Nginx eller et CDN er hurtigere i meget stor skala. Vælg ud fra din trafik og hostingopsætning.

Hurtigt tjek

Hvor registrerer du WhiteNoise i dit projekt?

Opsummering

Du aktiverede WhiteNoise: installér det, tilføj middleware, indstil komprimeret lager, kør collectstatic, og så leverer din app selv cachelagrede statiske filer. 🎯

Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “WhiteNoise til statiske filer” gratis?

Ja — alle 3 lektioner i læringssporet Django Academy, inklusive “WhiteNoise til statiske filer”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Django Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “WhiteNoise til statiske filer”?

Udrul statiske assets uden separat hosting Du øver dig i Django Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Django Academy?

Der kræves ingen tidligere erfaring. Django Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “WhiteNoise til statiske filer”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Django Academy-lektion?

Ja. Alle Django Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Gunicorn som WSGI-server
  2. Nginx som reverse proxy
  3. WhiteNoise til statiske filer
  4. Miljøvariabler og opdeling af indstillinger
← Tilbage til Django Academy