STATICFILES i znacznik static
Organizowanie zasobów i odwoływanie się do nich
STATICFILES i znacznik static to bezpłatna lekcja Django Academy na CoddyKit. To lekcja 1 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.
Czym są pliki statyczne
Twój CSS, JavaScript i obrazy używane w projekcie nie zmieniają się przy każdym żądaniu. Django nazywa je plikami statycznymi i serwuje je niezależnie od widoków Pythona. 🎨
Aplikacja static
Django domyślnie umieszcza django.contrib.staticfiles w INSTALLED_APPS. Wyszukuje, zbiera i serwuje zasoby, więc nie musisz konfigurować tego ręcznie.
INSTALLED_APPS = [
'django.contrib.staticfiles',
]Gdzie znajdują się pliki
Zgodnie z konwencją zasoby aplikacji przechowuje się w folderze o nazwie static, znajdującym się obok jej widoków i szablonów. Django przeszukuje ten folder w każdej aplikacji.
blog/
static/
blog/
style.cssNadaj folderowi przestrzeń nazw
Umieszczaj zasoby w folderze zgodnym z nazwą aplikacji, na przykład static/blog/. Taka przestrzeń nazw zapobiega nadpisywaniu przez aplikacje pliku style.css należącego do siebie nawzajem.
Ustawienie STATIC_URL
Ustawienie STATIC_URL to publiczny prefiks ścieżki, którego przeglądarki używają do pobierania zasobów. Żądania zaczynające się od tego prefiksu są kierowane do plików statycznych.
STATIC_URL = '/static/'Wczytaj tag static
Aby odwoływać się do zasobów w szablonie, najpierw wczytaj bibliotekę tagów za pomocą load static na samym początku pliku.
{% load static %}Użyj tagu static
Tag static zamienia względną ścieżkę zasobu na poprawny pełny adres URL, dzięki czemu nie trzeba wpisywać STATIC_URL na stałe w kodzie HTML.
<link rel="stylesheet" href="{% static 'blog/style.css' %}">Dlaczego nie wpisywać ścieżki na stałe
Gdyby ręcznie wpisano /static/blog/style.css, późniejsza zmiana STATIC_URL zepsułaby każdą stronę. Tag static zapewnia elastyczność odnośników. ✅
Dołączanie JavaScriptu
Ten sam tag static działa z każdym typem zasobu. Wskaż plik JS w tagu script, a Django samo rozwiąże ścieżkę.
<script src="{% static 'blog/app.js' %}"></script>STATICFILES_DIRS
W przypadku zasobów wspólnych dla całego projektu, które nie należą do jednej aplikacji, dodaj ich foldery do STATICFILES_DIRS. Django będzie przeszukiwać również te lokalizacje.
STATICFILES_DIRS = [BASE_DIR / 'assets']Findery wykonują pracę
W tle findery plików statycznych przeszukują folder static każdej aplikacji oraz STATICFILES_DIRS, aby znaleźć plik, o który prosi szablon.
Szybkie sprawdzenie
Sprawdźmy, jak odwołujesz się do pliku statycznego w szablonie.
Podsumowanie
Dowiedział(a) się Pan/Pani, że pliki statyczne to CSS i JS, że znajdują się w folderach static z przestrzenią nazw oraz że tag static poprawnie tworzy ich adresy URL. 🎉
Często zadawane pytania
Czy lekcja „STATICFILES i znacznik static” jest bezpłatna?
Tak — pełny tekst „STATICFILES i znacznik static” 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 „STATICFILES i znacznik static”?
Organizowanie zasobów i odwoływanie się do nich Ć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 1 z 4.
Ile czasu zajmuje lekcja „STATICFILES i znacznik static”?
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
- STATICFILES i znacznik static
- collectstatic na produkcji
- MEDIA_ROOT i przesyłanie plików
- ImageField i udostępnianie przesłanych plików