0Pricing
Django Academy · Lekcja

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.css

Nadaj 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

  1. STATICFILES i znacznik static
  2. collectstatic na produkcji
  3. MEDIA_ROOT i przesyłanie plików
  4. ImageField i udostępnianie przesłanych plików
← Powrót do Django Academy