Flask с нуля: первое веб-приложение на Python за 17 минут > Спикер: Corey Schafer | Длительность: 17:08 Ключевые идеи 1. Flask — микрофреймворк для комфортной веб-разработки — Flask не перегружен абстракциями и позволяет быстро получить работающий результат. При этом он достаточно мощный для полноценных приложений с авторизацией, базами данных и загрузкой файлов. 2. Минимальное приложение — 5 строк кода — Импорт класса Flask, создание экземпляра app, один декоратор маршрута и функция-обработчик — этого достаточно для запуска веб-сервера. 3. Маршруты через декораторы @app.route — Декоратор привязывает URL к функции. Функция возвращает содержимое страницы. Не нужно глубоко понимать декораторы, чтобы начать использовать Flask. 4. Один обработчик — несколько маршрутов — К функции можно привязать несколько декораторов, чтобы разные URL вели на одну страницу. 5. Два способа запуска — Через с переменными окружения или напрямую через с блоком . 6. Режим отладки — must have при разработке — Debug mode автоматически перезагружает сервер при изменении кода. Без него каждое изменение требует ручного перезапуска. 7. Виртуальные окружения — Изоляция зависимостей проекта — обязательная практика для любого Python-проекта. 8. __name__ определяет контекст — Эта переменная равна '__main__' при прямом запуске и имени модуля при импорте. Используется и для Flask, и для условного запуска. 9. localhost:5000 — адрес по умолчанию — Flask-сервер запускается на 127.0.0.1:5000, localhost — удобный алиас для этого адреса. 10. Просмотр исходного кода в браузере — Правый клик → «Просмотр исходного кода» помогает отлаживать HTML-ответы сервера. Транскрипт Введение: что будем строить В этой серии видео мы создадим полноценное веб-приложение на фреймворке Flask. Это будет блог-платформа, где разные пользователи могут создавать посты. Приложение включает систему управления пользователями: регистрацию, авторизацию, сброс пароля по email. Пользователи смогут обновлять профиль, загружать аватары (с автоматическим ресайзом на сервере), создавать, редактировать и удалять посты. Построение такого приложения — отличный способ изучить фреймворк, потому что придётся работать с базами данных, формами, файловой системой, отправкой email и многим другим. Установка Flask Установка выполняется через pip. Рекомендуется использовать виртуальное окружение для изоляции зависимостей проекта: Проверка установки — открыть интерпретатор Python и выполнить . Если ошибок нет — всё установлено корректно. Создание проекта Создаём директорию проекта и в ней файл . Минимальный код приложения: Переменная передаётся в конструктор Flask, чтобы фреймворк знал, где искать шаблоны и статические файлы. Запуск через flask run Необходимо установить переменную окружения: Сервер запустится на (или ). Режим отладки Без debug mode каждое изменение кода требует перезапуска сервера. Включение: Теперь сервер автоматически перезагружается при сохранении файлов. Альтернативный запуск через Python Можно добавить в конец файла блок условного запуска: И запускать напрямую: . Добавление маршрутов Новые страницы создаются добавлением маршрутов с декораторами: Можно привязать несколько URL к одной функции: Практические задания Задание 1: Установка Flask и проверка Установите Flask командой . Откройте интерпретатор Python и выполните — если ошибок нет, установка прошла успешно. Создайте отдельную директорию для проекта и откройте её в вашем текстовом редакторе. Задание 2: Минимальное приложение Создайте файл с минимальным кодом: импорт Flask, создание экземпляра app, один маршрут '/' возвращающий текст. Запустите через переменные окружения и откройте localhost:5000 в браузере. Убедитесь, что текст отображается. Задание 3: Режим отладки Включите debug mode и протестируйте горячую перезагрузку: измените текст, сохраните файл и обновите страницу без перезапуска сервера. Попробуйте оба способа запуска — через flask run и через python напрямую. Задание 4: Страница «О проекте» Создайте маршрут с отдельной функцией-обработчиком, возвращающей HTML с заголовком. Проверьте, что обе страницы работают. Попробуйте перейти на несуществующий маршрут и изучите ответ 404. Задание 5: Множественные маршруты Добавьте к домашней странице второй декоратор , чтобы и и вели на одну страницу. Проверьте оба URL в браузере. Задание 6: Эксперименты с HTML Замените простой текст на HTML-код с разными тегами: h1, p, ul/li, a. Просмотрите исходный код страницы в браузере. Обратите внимание, насколько неудобно писать HTML прямо в Python-коде — это мотивация для изучения шаблонов в следующем уроке. Лучшие цитаты > «Flask — это отличный микрофреймворк, который действительно делает работу с серверными веб-приложениями приятной» — Corey Schafer > «Создание подобного приложения — отличный способ изучить все тонкости фреймворка, потому что нам придётся работать с базами данных, пользовательским вводом из форм, сохранением картинок и отправкой писем» — Corey Schafer > «Декораторы — это просто способ добавить дополнительную функциональность к существующим функциям» — Corey Schafer > «Это работающий веб-сервер, он встроен прямо в Flask, и его нужно оставить запущенным, пока вы просматриваете свой сайт» — Corey Schafer > «Было бы очень неудобно каждый раз останавливать и перезапускать веб-сервер при каждом маленьком изменении» — Corey Schafer > «Всегда хорошая идея — разделять разные проекты в их собственные виртуальные окружения» — Corey Schafer > «Декораторы могут быть запутанной темой, но вам не обязательно понимать, как они работают, чтобы использовать Flask» — Corey Schafer > «Если мы хотим, чтобы несколько маршрутов обрабатывались одной функцией, достаточно просто добавить ещё один декоратор» — Corey Schafer