Часто Python-разработчики выбирают Flask в качестве «быстрого старта» для создания веб-приложений. Он прост в использовании и имеет много преимуществ перед другими фреймворками — например, легкий синтаксис, удобные шаблоны и инструменты для гибкой настройки сайтов.

Однако у начинающих могут быть трудности в работе с фреймворком. Чтобы свести их к минимуму и помочь с погружением в Flask, наши коллеги собрали полезные материалы. Сохраняйте подборку в закладки и делитесь своими вариантами в комментариях.

Используйте навигацию, если не хотите читать текст полностью:

Документация Flask
Инструкции для новичков
Видеоуроки на YouTube
Инструмент Flask-apisec
Книга Flask Framework Cookbook

Документация Flask


Зачастую для изучения фреймворка достаточно документации — она структурная, емкая и понятная. Поэтому не стоит про нее забывать.


Кирилл, архитектор внутренних сервисов

Документация, как инструкция к кофемашине, помогает решать задачи, с которыми вы столкнулись в первый раз (или забыли как делать). Находишь нужный раздел, быстро получаешь ответ и используешь его в работе.

В документации собраны материалы для работы с Flask — от вводной информации по фреймворку до использования async и await. Все рассматриваемые темы — например, инсталляция, отладка или тестирование приложений — дополнены подробными вставками с кодом. Пригодится как новичкам, так и опытным разработчикам.

Где найти → ознакомиться с документацией можно на сайте.

Инструкции для новичков



Александр, 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 для начинающих разработчиков. Автор хорошо объясняет базовые понятия и шаблоны на примере создания собственного веб-приложения.


Однако в туториале есть несколько вредных практик, которые лучше не использовать в профессиональной разработке, — например, методы to_dict() или as_dict() в моделях вместо Marshmallow или Pydantic.

Где найти → туториал можно изучить по ссылке.

Видеоуроки на YouTube


Уроки по Flask с нуля



Андрей, руководитель отдела бизнес-приложений

Для тех, кто ни разу не работал с Flask, советую ознакомиться с этим видеокурсом. Это поможет понять, для чего вообще нужен фреймворк и как с ним работать.

Курс представляет собой первые шаги в работе с Flask. С его помощью вы научитесь использовать шаблоны страниц и работать с базами данных, а также создадите небольшой блог со всем необходимым функционалом — например, с обратной связью.


Если вам нравится читать, а не слушать, у автора есть печатный формат курса на официальном сайте. Все статьи соответствуют материалу из видео и дополняют информацию кодом. Таким образом, вы можете подсматривать используемый код на сайте и не ставить урок на паузу.

Где найти → видеоурок доступен по ссылке.

Канал letsCode



Анна, системный администратор

Полезные уроки по Flask для джунов. Помогают разобраться в новых темах, когда нужно сделать что-то очень быстро, а дедлайн по задаче был вчера.

На канале letsCode собраны видеоуроки по программированию и разработке ПО, в том числе и по работе с фреймворком. В своих лекциях автор акцентирует внимание на практике: показывает, как с нуля создать веб-приложение с помощью Flask. Все ресурсы и исходный код он добавляет в описания под видео.

Длительность: 1 час.


Где найти → посмотреть видео можно по ссылке.

Инструмент Flask-apisec



Иван, разработчик

Советую использовать сторонние библиотеки, ориентированные на Flask. Они упростят выполнение задач и избавят от типичных ошибок в своих проектах. Например, Flask-apisec помогает тратить меньше времени на разработку и написание рутинного кода.

Flask-apispec — это инструмент для создания REST API в Flask. Он автоматически десериализует сырые данные в формате JSON в объекты — схемы валидации и классы данных. Достаточно просто указать тип, в которой нужно преобразовать сырые данные — все остальное библиотека сделает за вас. Автодокументация используется в формате Swagger, поэтому работа с методами API становится проще.

Где найти → микрофреймворк доступен на GitHub.


Книга Flask Framework Cookbook



Александр, Backend-разработчик

Если вы веб-разработчик, который хочет узнать больше о методиках масштабирования Flask-приложений, эта книга для вас.

Это второе, обновленное издание книги. В нем рассматривается Python 3.7 и Flask 1.0.3.


Книга подходит не только новичкам, но и опытным разработчикам. Помимо базовой информации автор затрагивает продвинутые темы, среди которых — «Интернационализация и локализация», «Полнотекстовый поиск», «Интеграция с Celery» и другие. Выглядит это как кулинарная книга, в которой каждый «рецепт» занимает от 1 до 5 страниц.

Где найти → официальную версию можно купить тут, но в сети есть и бесплатные варианты.

Возможно, эти тексты тоже вас заинтересуют:

Linux 6.4: новые возможности ядра — что изменилось в релизе
CI/CD в Data Science, MLOps в финтехе и тенденции в потоковой передаче данных
ASML выпустит «китайскую» версию литографической машины. Но у Китая есть и другие проблемы: некачественные чипы

Комментарии (6)


  1. kavabangaungava
    11.07.2023 13:07
    +2

    Еще есть замечательные уроки от corey schafer

    https://www.youtube.com/playlist?list=PL-osiE80TeTs4UjLw5MM6OjgkjFeUxCYH


  1. kalbas
    11.07.2023 13:07
    +1

    А какие вообще плюсы использования фласка с 2023 году по сравнению с тем же FastApi? Особенно доставила книга Flask Framework Cookbook, рассказывающая о Фласке и Питоне пятилетней давности, ну камон.


    1. erbanovanastasia Автор
      11.07.2023 13:07
      +1

      Flask довольно зрелый фреймворк в отличии от FastAPI. Если проект уже использует Flask и имеет большую кодовую базу, переход на другой фреймворк может быть затруднительным, требовать значительных усилий разработчиков, а также время и деньги компании. Все эти временнЫе затраты не будут видны конечному пользователю, они лишь позволяют программистам вести разработку более удобно и динамично (зависит от бизнеса). Однако если проект изначально имел хорошую архитектуру, вовремя рефакторился и разрабатывался с умом, то и это преимущество может стать неочевидным.

      Из его зрелости вытекает еще одна черта — большая база знаний и сообщество. Flask имеет огромное сообщество разработчиков, множество ресурсов, обучающих материалов, документации и плагинов. За годы разработки на нем накопилось большое количество знаний, что облегчает процесс изучения и использования Flask.

      Также среди плюсов Flask — его модульность. Он не навязывает какие-то шаблоны проектирования, наоборот позволяет разработчикам выбирать инструменты и подходы, которые соответствуют их потребностям и предпочтениям. 

      Если же говорить о написании нового проекта с нуля, тогда действительно нет большого смысла писать на Flask. Тот же FastAPI в этом плане будет более предпочтительным.


  1. alexstars525
    11.07.2023 13:07
    +1

    в описании книга 2018г а в ссылке 2014г первая версия.)) еще бы посоветовал посмотреть (правда уже староватые) видео на канале (ютуб) "Олег Молчанов", он пишет блог как пример и код там очень продакшен у его. Видео там хоть и старые, но очень актуальные, хотя бы манеры написания кода и разделение его можно перенять не опытным программистам.


    1. erbanovanastasia Автор
      11.07.2023 13:07

      Спасибо, что заметили. Поменяла)


  1. 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 проектах, и был готов поделиться инсайдами. Зато встречал тех, кто пытался, и они были согласны что это не работает и либо перешли на другой стэк, либо испытывают такую-же боль.