---
title: "Pisanie pierwszej aplikacji Django, część 6."
version: 3.1
locale: pl
source: https://docs.djangoproject.com/pl/3.1/intro/tutorial06/
canonical: https://djangodocs.dev/pl/3.1/intro/tutorial06/
---
# Pisanie pierwszej aplikacji Django, część 6.

Ten tutorial zaczyna się, gdzie skończył się [Tutorial 5](/pl/3.1/intro/tutorial05/). Zbudowaliśmy testowaną aplikację web-ankietową, teraz dodamy arkusz stylów i grafikę.

Oprócz od HTML-u wygenerowanego przez serwer, aplikacje webowe zazwyczaj muszą serwować dodatkowe pliki – takie jak grafiki, JavaScript lub CSS – niezbędne do wyrenderowania pełnej strony internetowej. W Django nazywamy te pliki „plikami statycznymi”.

W małych projektach to nieduży problem, bo możesz trzymać pliki statyczne gdzieś, gdzie może odnaleźć je web serwer. Jednak w dużych projektach – szczególnie tych złożonych z wielu aplikacji – raczenie sobie z wieloma zbiorami plików statycznych każdej aplikacji zaczyna być wyzwaniem.

Do tego mamy `django.contrib.staticfiles`: zbiera ono pliki statyczne z każdej z twoich aplikacji (i każdego innego miejsca, które wskażesz) w jedną lokację, która może być prosto zaserwowana na produkcji.

> **Gdzie szukać pomocy:**
>
> Jeśli masz trudności w przejściu tego tutorialu, przejdź do sekcji [Uzyskiwanie pomocy](/pl/3.1/faq/help/) często zadawanych pytań.

## Dostosuj wygląd i pracę z twoją *aplikacją*

Najpierw stwórz katalog o nazwie `static` w swoim katalogu `polls`. Django będzie tam szukało plików statycznych, w podobny sposób jak szuka szablonów w `polls/templates/`.

Ustawienie Django [`STATICFILES_FINDERS`](/pl/3.1/ref/settings/#std-setting-STATICFILES_FINDERS) zawiera listę finderów, które wiedzą jak odnajdywać pliki statyczne w różnych źródłach. Jednym z domyślnych jest `AppDirectoriesFinder`, który szuka „statycznego” podkatalogu w każdej z [`INSTALLED_APPS`](/pl/3.1/ref/settings/#std-setting-INSTALLED_APPS), takiego jak ten, który właśnie stworzyliśmy w `polls`. Panel administracyjny używa takiej samej struktury katalogów dla swoich statycznych plików.

W katalogu `static`, który właśnie stworzyłeś, stwórz inny katalog o nazwie `polls` i w nim stwórz plik o nazwie `style.css`. Innymi słowy twój arkusz stylów powinien być w `polls/static/polls/style.css`. Z powodu jak działa finder plików statycznych `AppDirectoriesFinder`, możesz odwoływać się do tego pliku statycznego w Django jako do `polls/style.css`, podobnie jak wskazujesz ścieżkę do szablonów.

> **Przestrzeń nazw plików statycznych**
>
> Tak samo jak z szablonami, *moglibyśmy* poradzić sobie umieszczając nasze pliki statyczne bezpośrednio w `polls/static` (zamiast tworzyć kolejny podkatalog `polls`), ale w rzeczywistości byłoby to złym pomysłem. Django wybierze pierwszy statyczny plik, którego nazwa się zgadza i jeśli miałbyś plik statyczny o takiej samej nazwie w *innej* aplikacji, Django nie byłoby w stanie ich odróżnić. Musimy być w stanie wskazać Django odpowiedni plik i najlepszym sposobem, aby to zapewnić jest *znamespace’owanie* ich. To znaczy umieszczenie tych plików statycznych w *innym* katalogu nazwanym dla samej aplikacji.

Umieść następujący kod w tym arkuszu stylów (`polls/static/polls/style.css`):

*polls/static/polls/style.css*

```css
li a {
    color: green;
}
```

Następnie dodaj poniższe na początku `polls/templates/polls/index.html`:

*polls/templates/polls/index.html*

```html+django
{% load static %}

<link rel="stylesheet" type="text/css" href="{% static 'polls/style.css' %}">
```

Szablonowy tag `{% static %}` generuje bezwzględny URL plików statycznych.

To wszystko, co potrzebujesz zrobić dla dewelopmentu.

Wystartuj serwer (lub zrestartuj, jeśli już działa):

```console
$ python manage.py runserver
```

*Windows*

```doscon
...\> py manage.py runserver
```

Przeładuj `http://localhost:8000/polls/`, powinieneś zobaczyć, że linki pytań są zielone (styl Django!), co oznacza, że twój arkusz styli załadował się poprawnie.

## Dodawanie obrazu tła

Następnie stworzymy podkatalog na grafiki. Stwórz podkatalog `images` w katalogu `polls/static/polls/`. W tym katalogu umieść grafikę o nazwie `background.gif`. Innymi słowy umieść swój obrazek w `polls/static/polls/images/background.gif`.

Potem dodaj do swojego arkusza stylów (`polls/static/polls/style.css`):

*polls/static/polls/style.css*

```css
body {
    background: white url("images/background.gif") no-repeat;
}
```

Odśwież `http://localhost:8000/polls/` a powinieneś zobaczyć tło załadowane w lewym górnym rogu ekranu.

> **Warning**
>
> Szablonowy tag `{% static %}` nie jest dostępny do użycia w plikach statycznych, które nie są wygenerowane przez Django, takich jak twój arkusz stylów. Powinieneś zawsze używać **ścieżek względnych** do łączenia plików statycznych pomiędzy nimi, ponieważ wtedy możesz zmienić [`STATIC_URL`](/pl/3.1/ref/settings/#std-setting-STATIC_URL) (używany przez szablonowy tag [`static`](/pl/3.1/ref/templates/builtins/#std-templatetag-static) do wygenerowania jego URL-i) bez bycia zmuszonym do modyfikacji też rzeszy ścieżek w twoich plikach statycznych.

To są **podstawy**. Po więcej szczegółów na temat ustawień i innych kawałków zawartych we frameworku, zobacz [howto plików statycznych](/pl/3.1/howto/static-files/) i [dokumentację staticfiles](/pl/3.1/ref/contrib/staticfiles/). [Demployment plików statycznych](/pl/3.1/howto/static-files/deployment/) porusza kwestię, jak używać plików statycznych na prawdziwym serwerze.

Kiedy już czujesz się dobrze z plikami statycznymi, przeczytaj [część 7 tego tutoriala](/pl/3.1/intro/tutorial07/), aby dowiedzieć się, jak dostosowywać wygenerowany automatycznie panel administracyjny Django.
