![](https://habrastorage.org/webt/wd/gy/fy/wdgyfytvgzhn1np3xwv0ywevdlm.jpeg)
Часто Python-разработчики выбирают Flask в качестве «быстрого старта» для создания веб-приложений. Он прост в использовании и имеет много преимуществ перед другими фреймворками — например, легкий синтаксис, удобные шаблоны и инструменты для гибкой настройки сайтов.
Однако у начинающих могут быть трудности в работе с фреймворком. Чтобы свести их к минимуму и помочь с погружением в Flask, наши коллеги собрали полезные материалы. Сохраняйте подборку в закладки и делитесь своими вариантами в комментариях.
Используйте навигацию, если не хотите читать текст полностью:
→ Документация Flask
→ Инструкции для новичков
→ Видеоуроки на YouTube
→ Инструмент Flask-apisec
→ Книга Flask Framework Cookbook
Документация Flask
Зачастую для изучения фреймворка достаточно документации — она структурная, емкая и понятная. Поэтому не стоит про нее забывать.
![](https://habrastorage.org/webt/ak/ax/xw/akaxxwsfj4oxn1pnsodk6mriv90.png)
Кирилл, архитектор внутренних сервисов
Документация, как инструкция к кофемашине, помогает решать задачи, с которыми вы столкнулись в первый раз (или забыли как делать). Находишь нужный раздел, быстро получаешь ответ и используешь его в работе.
В документации собраны материалы для работы с Flask — от вводной информации по фреймворку до использования async и await. Все рассматриваемые темы — например, инсталляция, отладка или тестирование приложений — дополнены подробными вставками с кодом. Пригодится как новичкам, так и опытным разработчикам.
Где найти → ознакомиться с документацией можно на сайте.
Инструкции для новичков
![](https://habrastorage.org/webt/7n/fb/qw/7nfbqwf2wuqllvklyaiowil2jfo.png)
Александр, Backend-разработчик
Эти инструкции помогли мне понять основные концепции и особенности Flask, его философию и подход к разработке. Рекомендую тем, кто только начинает работу с этим фреймворком.
Build Flask Apps
Базовая инструкция по созданию веб-приложений на Flask. В ней всего 10 материалов, на знакомство с которыми потребуется 1,5 часа. После прочтения вы научитесь:
- создавать веб-сайты с бэкендом на Python,
- обслуживать страницы с динамическим содержанием,
- компилировать JavaScript и CSS для внешнего интерфейса,
- работать с базами данных.
Где найти → ознакомьтесь с гайдом на сайте.
How To: Create a Flask API with JWT-Based Authentication
Туториал содержит пошаговые инструкции по созданию надежного REST API. В каждом уроке автор делится используемыми ресурсами из репозитория GitHub — кодом, пакетами и расширениями. Материал полезен тем, кто хочет погрузиться в особенности проектирования и принципы работы программных интерфейсов приложений.
Как пишет автор, это еще незавершенная работа. В дальнейшем он планирует рассказать о безопасности и тестировании API, работе с аннотациями типов и CI/CD.
Где найти → инструкция доступна на сайте
The Flask Mega-Tutorial
Разработчик Мигель Гринберг написал подробный туториал по работе с Flask для начинающих разработчиков. Автор хорошо объясняет базовые понятия и шаблоны на примере создания собственного веб-приложения.
![](https://habrastorage.org/webt/l6/e3/hi/l6e3hiwrqwf5evw34ebm-p9kejk.png)
Однако в туториале есть несколько вредных практик, которые лучше не использовать в профессиональной разработке, — например, методы to_dict() или as_dict() в моделях вместо Marshmallow или Pydantic.
Где найти → туториал можно изучить по ссылке.
Видеоуроки на YouTube
Уроки по Flask с нуля
![](https://habrastorage.org/webt/l1/hj/qg/l1hjqge-9z9j3aguicqiqfqycpq.jpeg)
Андрей, руководитель отдела бизнес-приложений
Для тех, кто ни разу не работал с Flask, советую ознакомиться с этим видеокурсом. Это поможет понять, для чего вообще нужен фреймворк и как с ним работать.
Курс представляет собой первые шаги в работе с Flask. С его помощью вы научитесь использовать шаблоны страниц и работать с базами данных, а также создадите небольшой блог со всем необходимым функционалом — например, с обратной связью.
![](https://habrastorage.org/webt/gj/3l/va/gj3lvajave3d0dwtq2xbjwnpkjm.png)
Если вам нравится читать, а не слушать, у автора есть печатный формат курса на официальном сайте. Все статьи соответствуют материалу из видео и дополняют информацию кодом. Таким образом, вы можете подсматривать используемый код на сайте и не ставить урок на паузу.
Где найти → видеоурок доступен по ссылке.
Канал letsCode
![](https://habrastorage.org/webt/xe/py/0v/xepy0vz12zbyvdv908egmh6fjqo.png)
Анна, системный администратор
Полезные уроки по Flask для джунов. Помогают разобраться в новых темах, когда нужно сделать что-то очень быстро, а дедлайн по задаче был вчера.
На канале letsCode собраны видеоуроки по программированию и разработке ПО, в том числе и по работе с фреймворком. В своих лекциях автор акцентирует внимание на практике: показывает, как с нуля создать веб-приложение с помощью Flask. Все ресурсы и исходный код он добавляет в описания под видео.
Длительность: 1 час.
![](https://habrastorage.org/webt/is/kf/vy/iskfvy1ukurrlho1xpavg2f2b9s.png)
Где найти → посмотреть видео можно по ссылке.
Инструмент Flask-apisec
![](https://habrastorage.org/webt/da/rb/4c/darb4cmi8s8qma0leflzrldtehi.png)
Иван, разработчик
Советую использовать сторонние библиотеки, ориентированные на Flask. Они упростят выполнение задач и избавят от типичных ошибок в своих проектах. Например, Flask-apisec помогает тратить меньше времени на разработку и написание рутинного кода.
Flask-apispec — это инструмент для создания REST API в Flask. Он автоматически десериализует сырые данные в формате JSON в объекты — схемы валидации и классы данных. Достаточно просто указать тип, в которой нужно преобразовать сырые данные — все остальное библиотека сделает за вас. Автодокументация используется в формате Swagger, поэтому работа с методами API становится проще.
Где найти → микрофреймворк доступен на GitHub.
![](https://habrastorage.org/r/w1560/webt/5w/f6/q5/5wf6q551s0ig-eohrr6hibm19yo.png)
Книга Flask Framework Cookbook
![](https://habrastorage.org/webt/7n/fb/qw/7nfbqwf2wuqllvklyaiowil2jfo.png)
Александр, Backend-разработчик
Если вы веб-разработчик, который хочет узнать больше о методиках масштабирования Flask-приложений, эта книга для вас.
Это второе, обновленное издание книги. В нем рассматривается Python 3.7 и Flask 1.0.3.
![](https://habrastorage.org/webt/y8/sd/la/y8sdlakbwii-q5sswbxg344pcoo.png)
Книга подходит не только новичкам, но и опытным разработчикам. Помимо базовой информации автор затрагивает продвинутые темы, среди которых — «Интернационализация и локализация», «Полнотекстовый поиск», «Интеграция с Celery» и другие. Выглядит это как кулинарная книга, в которой каждый «рецепт» занимает от 1 до 5 страниц.
Где найти → официальную версию можно купить тут, но в сети есть и бесплатные варианты.
Возможно, эти тексты тоже вас заинтересуют:
→ Linux 6.4: новые возможности ядра — что изменилось в релизе
→ CI/CD в Data Science, MLOps в финтехе и тенденции в потоковой передаче данных
→ ASML выпустит «китайскую» версию литографической машины. Но у Китая есть и другие проблемы: некачественные чипы
Комментарии (6)
kalbas
11.07.2023 13:07+1А какие вообще плюсы использования фласка с 2023 году по сравнению с тем же FastApi? Особенно доставила книга Flask Framework Cookbook, рассказывающая о Фласке и Питоне пятилетней давности, ну камон.
erbanovanastasia Автор
11.07.2023 13:07+1Flask довольно зрелый фреймворк в отличии от FastAPI. Если проект уже использует Flask и имеет большую кодовую базу, переход на другой фреймворк может быть затруднительным, требовать значительных усилий разработчиков, а также время и деньги компании. Все эти временнЫе затраты не будут видны конечному пользователю, они лишь позволяют программистам вести разработку более удобно и динамично (зависит от бизнеса). Однако если проект изначально имел хорошую архитектуру, вовремя рефакторился и разрабатывался с умом, то и это преимущество может стать неочевидным.
Из его зрелости вытекает еще одна черта — большая база знаний и сообщество. Flask имеет огромное сообщество разработчиков, множество ресурсов, обучающих материалов, документации и плагинов. За годы разработки на нем накопилось большое количество знаний, что облегчает процесс изучения и использования Flask.
Также среди плюсов Flask — его модульность. Он не навязывает какие-то шаблоны проектирования, наоборот позволяет разработчикам выбирать инструменты и подходы, которые соответствуют их потребностям и предпочтениям.
Если же говорить о написании нового проекта с нуля, тогда действительно нет большого смысла писать на Flask. Тот же FastAPI в этом плане будет более предпочтительным.
alexstars525
11.07.2023 13:07+1в описании книга 2018г а в ссылке 2014г первая версия.)) еще бы посоветовал посмотреть (правда уже староватые) видео на канале (ютуб) "Олег Молчанов", он пишет блог как пример и код там очень продакшен у его. Видео там хоть и старые, но очень актуальные, хотя бы манеры написания кода и разделение его можно перенять не опытным программистам.
splatt
11.07.2023 13:07+1На чем сегодня деплоят в продакшн традиционные wsgi/gevent Flask приложения? Мы пытались использовать gunicorn но он просто не стабилен под нагрузкой (1, 2).
Сегодня деплоим на gevent.pywsgi но у меня складывается впечатление что этой связкой вообще никто не пользуется, и живого коммьюнити почти нету.
Вторая проблема - это скорость работы всего стэка. Тут скорее проблема не Flask а его экосистемы, но приложение на Flask + SQLAlchemy + Marshmallow + что-то там еще, работает ну ОЧЕНЬ медленно. Примерно раз в 15 медленнее чем аналогичное API на каком-нибудь .NET.
В целом за многие годы работы с Flask я так и не встретил кого-либо, кто использовал его на нормальных production high-load проектах, и был готов поделиться инсайдами. Зато встречал тех, кто пытался, и они были согласны что это не работает и либо перешли на другой стэк, либо испытывают такую-же боль.
kavabangaungava
Еще есть замечательные уроки от corey schafer
https://www.youtube.com/playlist?list=PL-osiE80TeTs4UjLw5MM6OjgkjFeUxCYH