collectstatic for produksjon
Samle statiske filer for utrulling
collectstatic for produksjon er en gratis leksjon i Django Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Django Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Django Academy inneholder totalt 4 leksjoner.
Utvikling kontra produksjon
I utviklingsmiljøet finner og leverer Django statiske filer for deg. I produksjon er denne automatiske leveringen deaktivert, så du må først samle ressursene på ett sted.
Møt collectstatic
collectstatic-kommandoen kopierer alle statiske filer fra alle apper til én utdatamappe, klar for rask levering fra en webserver.
python manage.py collectstaticMålet STATIC_ROOT
collectstatic trenger et mål. Innstillingen STATIC_ROOT peker på den ene mappen der alle de innsamlede filene skal skrives.
STATIC_ROOT = BASE_DIR / 'staticfiles'Hold rotmappene adskilt
Angi aldri STATIC_ROOT til en mappe du redigerer manuelt. Den er en generert output-mappe som bygges på nytt hver gang collectstatic kjøres.
Hva som samles inn
collectstatic henter fra static-mappen i hver app og fra STATICFILES_DIRS, og slår alt sammen i STATIC_ROOT i én operasjon.
Hopp over spørsmålet
Som standard spør kommandoen før filer overskrives. Legg til --noinput i et distribusjonsskript, slik at den kjører uten tilsyn og ikke venter på deg.
python manage.py collectstatic --noinputNår den skal kjøres
Kjør collectstatic ved hver distribusjon, etter at du har hentet ny kode. Ny eller endret CSS og JavaScript blir først tilgjengelig for brukerne etter at den er samlet inn.
Cache-busting
Backend-løsningen ManifestStaticFilesStorage legger til en innholds-hash i hvert filnavn, slik at nettlesere alltid henter den nyeste versjonen etter en distribusjon.
STATICFILES_STORAGE = (
'django.contrib.staticfiles.storage'
'.ManifestStaticFilesStorage')Hvem som leverer dem
Django leverer ikke selv STATIC_ROOT i produksjon. En webserver som Nginx eller et verktøy som WhiteNoise leverer filene i stedet.
Ignorer byggeavfall
Legg til --ignore-mønstre for å hoppe over filer du ikke vil kopiere, for eksempel source maps eller midlertidige filer som ligger igjen i en static-mappe.
python manage.py collectstatic --ignore=*.scssGit og STATIC_ROOT
Siden STATIC_ROOT er generert, bør du legge den til i .gitignore. Du committer kilderessursene dine, ikke de innsamlede kopiene.
Hurtigsjekk
La oss bekrefte hvilken rolle collectstatic har.
Oppsummering
Du har sett at produksjon trenger collectstatic for å slå sammen ressurser i STATIC_ROOT, at du kjører den ved hver distribusjon, og at en webserver leverer resultatet. 🚀
Lær deg Python med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 30
- Leksjoner
- 120
Ofte stilte spørsmål
Er leksjonen «collectstatic for produksjon» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Django Academy, inkludert «collectstatic for produksjon», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Django Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «collectstatic for produksjon»?
Samle statiske filer for utrulling Du øver på Django Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Django Academy?
Ingen tidligere erfaring er nødvendig. Django Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.
Hvor lang tid tar leksjonen «collectstatic for produksjon»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Django Academy-leksjonen?
Ja. Alle Django Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- STATICFILES og static-taggen
- collectstatic for produksjon
- MEDIA_ROOT og filopplastinger
- ImageField og visning av opplastinger