Flask с нуля: первое веб-приложение на Python за 17 минут
Пошаговое руководство по созданию первого веб-приложения на Flask: установка, маршруты, режим отладки и структура проекта.
Для AI-агентов и LLM
Экстракт доступен в структурированном Markdown. Скачать .md · JSON API · Site index
💡 Ключевые тезисы (10)
1 Flask — микрофреймворк, идеальный для старта #
2 Минимальное приложение Flask — всего 5 строк кода #
3 Маршруты определяются через декораторы #
4 Один обработчик может иметь несколько маршрутов #
5 Два способа запуска Flask-приложения #
6 Режим отладки автоматически перезагружает сервер #
7 Виртуальные окружения — обязательная практика #
8 Переменная __name__ определяет контекст запуска #
9 localhost и 127.0.0.1 — одно и то же #
10 Просмотр исходного кода страницы — инструмент отладки #
🏋️ Практикум
Установка Flask и проверка работоспособности
Установите Flask командой pip install flask. Откройте интерпретатор Python и выполните import flask — если ошибок нет, установка прошла успешно. Создайте отдельную директорию для проекта и откройте её в вашем текстовом редакторе.
Создание минимального Flask-приложения
Создайте файл flaskblog.py с минимальным кодом: импорт Flask, создание экземпляра app, один маршрут '/' возвращающий текст. Запустите через переменные окружения (export FLASK_APP=flaskblog.py && flask run) и откройте localhost:5000 в браузере. Убедитесь, что текст отображается.
Включение режима отладки и тестирование горячей перезагрузки
Установите переменную FLASK_DEBUG=1 и перезапустите сервер. Измените текст, возвращаемый маршрутом, сохраните файл и обновите страницу в браузере без перезапуска сервера. Убедитесь, что изменения применились автоматически. Попробуйте также альтернативный запуск через if __name__ == '__main__': app.run(debug=True).
Добавление страницы «О проекте»
Создайте второй маршрут /about с отдельной функцией-обработчиком. Верните HTML с заголовком h1. Проверьте, что обе страницы ('/' и '/about') работают. Попробуйте перейти на несуществующий маршрут и изучите ответ 404 в терминале.
Множественные маршруты для одного обработчика
Добавьте к домашней странице второй декоратор @app.route('/home'), чтобы и '/' и '/home' вели на одну страницу. Проверьте оба URL в браузере. Подумайте, в каких случаях это может быть полезно в реальном проекте — например, редирект со старого URL на новый.
Эксперимент с HTML-разметкой в ответах
Замените простой текст в return на HTML-код с разными тегами: h1, p, ul/li. Обновите страницу и просмотрите исходный код через правый клик → «Просмотр исходного кода». Обратите внимание, как браузер рендерит HTML. Это поможет понять, зачем в следующих уроках понадобятся шаблоны.
💬 Цитаты (8)
«Flask — это отличный микрофреймворк, который действительно делает работу с серверными веб-приложениями приятной (Flask is an excellent micro framework that really makes it enjoyable to work with these back-end web applications)» #
«Создание подобного приложения — отличный способ изучить все тонкости фреймворка, потому что нам придётся работать с базами данных, пользовательским вводом из форм, сохранением картинок и отправкой писем (building an application like this is a great way to learn the ins and outs of a framework)» #
«Декораторы — это просто способ добавить дополнительную функциональность к существующим функциям (decorators are just a way to add additional functionality to existing functions)» #
«Это работающий веб-сервер, он встроен прямо в Flask, и его нужно оставить запущенным, пока вы просматриваете свой сайт (this is a running web server this actually comes with flask itself and you have to leave this running while you're viewing your site)» #
«Скорее всего при разработке сайта вы будете вносить множество изменений, и было бы очень неудобно каждый раз останавливать и перезапускать веб-сервер при каждом маленьком изменении (it would be a major pain to have to shut down and restart the web server each time you make a small change)» #
«Всегда хорошая идея — разделять разные проекты в их собственные виртуальные окружения (it's always a good idea to separate different projects into their own virtual environments)» #
«Декораторы могут быть запутанной темой, но вам не обязательно понимать, как они работают, чтобы использовать Flask (decorators can be a confusing topic but you don't really need to understand how they work in order to use flask)» #
«Если мы хотим, чтобы несколько маршрутов обрабатывались одной функцией, достаточно просто добавить ещё один декоратор (if we ever wanted to have multiple routes handled by the same function then it's as simple as just adding another decorator)» #
Популярное в категории
Похожие по теме
Читать далее
Corey Schafer
Мастерство управления Python-проектами: ускоряем рабочий процесс с помощью UV
Corey Schafer
Поделитесь с коллегами