WhiteNoise dla plików statycznych
Dostarczanie zasobów statycznych bez osobnego hostingu
WhiteNoise dla plików statycznych to bezpłatna lekcja Django Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Django Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Django Academy zawiera 4 lekcji w sumie.
Problem plików statycznych
W środowisku produkcyjnym Django nie będzie samo serwować Państwa plików CSS i JS. Zwykle potrzebny jest Nginx lub CDN, co wymaga dodatkowej konfiguracji. WhiteNoise upraszcza to zadanie. 📦
Co robi WhiteNoise
WhiteNoise pozwala aplikacji Django wydajnie serwować własne pliki statyczne, dzięki czemu proste wdrożenie oparte wyłącznie na Gunicorn może również dostarczać CSS i JS.
Świetne rozwiązanie dla prostych hostów
Na platformach takich jak Heroku lub w małych kontenerach, gdzie nie ma osobnego serwera WWW do obsługi plików, WhiteNoise utrzymuje wszystko w jednym procesie.
Zainstaluj WhiteNoise
Proszę dodać pakiet za pomocą pip, a następnie przypiąć jego wersję w requirements.txt, aby wdrożenia były powtarzalne. WhiteNoise nie wymaga dodatkowych usług.
pip install whitenoiseDodaj middleware
Proszę wstawić WhiteNoiseMiddleware bezpośrednio za SecurityMiddleware. Kolejność ma znaczenie, ponieważ middleware przechwytuje żądania dotyczące plików statycznych na wczesnym etapie łańcucha.
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
]Ustaw backend magazynu
Proszę wskazać WhiteNoise w ustawieniu STATICFILES_STORAGE, aby automatycznie włączyć kompresję i przyjazne pamięci podręcznej nazwy plików z hashem.
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'Zdefiniuj STATIC_ROOT
WhiteNoise serwuje wszystko, co zgromadzi collectstatic, dlatego STATIC_ROOT musi wskazywać folder, do którego trafiają te pliki.
STATIC_ROOT = BASE_DIR / 'staticfiles'Uruchom collectstatic
Przed rozpoczęciem serwowania uruchom collectstatic, aby skopiować zasoby wszystkich aplikacji do STATIC_ROOT. WhiteNoise odczytuje je z tego jednego folderu.
python manage.py collectstatic --noinputKompresja jest dostępna od razu
Skompresowany backend magazynu przygotowuje wersje plików w formatach gzip i brotli, dzięki czemu przeglądarki pobierają mniejsze zasoby szybciej.
Buforowanie na bardzo długo
WhiteNoise dodaje do każdej nazwy pliku hash treści i ustawia długie nagłówki cache, dzięki czemu przeglądarki mogą bezpiecznie ponownie używać plików, dopóki ich zawartość rzeczywiście się nie zmieni.
WhiteNoise a Nginx
WhiteNoise wygrywa prostotą, ale dedykowany Nginx lub CDN działa szybciej przy bardzo dużej skali. Wybór zależy od ruchu i konfiguracji hostingu.
Szybkie sprawdzenie
Gdzie rejestruje się WhiteNoise w projekcie?
Podsumowanie
Włączył(a) Pan/Pani WhiteNoise: zainstalował(a) go, dodał(a) middleware, ustawił(a) skompresowany magazyn i uruchomił(a) collectstatic, dzięki czemu aplikacja sama serwuje buforowane pliki statyczne. 🎯
Ucz się Python dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 30
- Lekcje
- 120
Często zadawane pytania
Czy lekcja „WhiteNoise dla plików statycznych” jest bezpłatna?
Tak — pełny tekst „WhiteNoise dla plików statycznych” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Django Academy, przejdź na CoddyKit PRO. Kurs Django Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „WhiteNoise dla plików statycznych”?
Dostarczanie zasobów statycznych bez osobnego hostingu Ćwiczysz Django Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Django Academy?
Nie wymagamy żadnego doświadczenia. Django Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „WhiteNoise dla plików statycznych”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Django Academy?
Tak. Każda lekcja Django Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Gunicorn jako serwer WSGI
- Nginx jako reverse proxy
- WhiteNoise dla plików statycznych
- Zmienne środowiskowe i podział ustawień