Статическими называются файлы, которые изменяются редко. К этому типу относят файлы CSS, JavaScript, шрифты и другие. По умолчанию Flask ищет такие файлы в директории static, находящейся в папке приложения. Однако это можно изменить: достаточно указать другой путь с помощью параметра static_folder при инициализации приложения:
app = Flask(__name__, static_folder="static_dir")
Теперь стандартное местоположение для статических файлов будет перемещено в папку static_dir внутри приложения.
Пока не требуется изменять расположение папки по умолчанию — static. Сначала создайте папку static в директории flask_app и разместите в ней CSS-файл style.css со следующим содержимым.
body { color: red }
Как упоминалось в главе «Основы Flask», автоматически добавляется маршрут в формате /static/<filename>
для статических файлов. Осталось только создать URL, используя функцию url_for()
:
<script src="{{ url_for('static', filename='jquery.js') }}"></script>
Результат:
<script src="/static/jquery.js"></script>
Теперь нужно открыть шаблон index.html и добавить тег <link>:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}"> </head> ...
Если сервер не активирован, запустите его и перейдите по адресу http://localhost:5000/
. На новой странице должен
отобразиться текст красного цвета:
Этот подход к работе со статическими файлами подходит лишь для разработки. Чтобы создать полномасштабное приложение, используется сервер типа Nginx или Apache.