Pliki statyczne: CSS, obrazy i JavaScript
Jedna strona — kilka niezależnych żądań: HTML jest ponownie składana, statyka jest serwowana w obecnej formie.
Otwierając stronę ze stylem, przeglądarka faktycznie tworzy kilka oddzielnych HTTP- żądań: po jednym dla HTML, po jednym dla każdego pliku CSS-, obrazu, oraz JavaScript-, do którego odwołuje się strona. Takie pliki nazywane są statyczny: serwer przekazuje je bez zmian, w przeciwieństwie do HTML, który Jinja renderuje na nowo dla każdego żądania.
Flask domyślnie oczekuje plików statycznych w folderze static/
obok aplikacji i poda je pod adresami takimi jak
/static/имя_файла:
todo-app/
app.py
templates/
base.html
static/
style.css
Wygodniej jest nie wpisywać adresu statycznego pliku do szablonu ręcznie, lecz otrzymywać go przez
url_for('static', filename='style.css') – Ta funkcja się buduje
URL opiera się na konfiguracji trasowania Flask, a nie tylko sklejaniu sznuru. To również
Oszczędza to dużo pracy, jeśli struktura folderów się zmieni:
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
templates/ przechowuje pliki, które Jinja renderują na nowo dla każdego żądania, zastępując dane z Python. static/ przechowuje gotowe pliki udostępniane w obecnej formie, bez przetwarzania, takie jak CSS, obrazy, JavaScript, czcionki.