Лучшие книги по Flask для Python-разработчиков

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

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

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

Книги из этого списка подойдут для Python-разработчиков начиная со среднего уровня владения языком. Знание самого Flask чаще всего не требуется, но в концепциях Python (модули, пакеты, функции, декораторы) и объектно-ориентированном программировании читатель должен хорошо разбираться. Также следует учесть, что при работе над примерами вы будете многое делать в командной строке, так что ею тоже нужно уметь пользоваться. И, поскольку речь идет о веб-разработке, вам точно пригодится знание HTML, CSS и JavaScript хотя бы на базовом уровне.

1. Flask Web Development

Автор: Miguel Grinberg. Год издания: 2018. Язык: английский, русский.

Автор этой книги, Мигель Гринберг, описал собственный процесс разработки веб-приложений при помощи Flask.

В большинстве книг, посвященных разработке программ, авторы в качестве примеров приводят маленькие кусочки кода, демонстрирующие различные свойства описываемых технологий. При этом они практически никогда не приводят «связующий» код, благодаря которому все отдельные функции собираются в цельное приложение. Эту часть работы авторы скромно оставляют читателям.

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

2. Flask: веб-разработка капля за каплей

Год издания: 2016. Язык: русский.

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

3. Flask By Example

Автор: Gareth Dwyer. Год издания: 2016. Язык: английский.

Это практическое руководство по созданию полнофункциональных веб-приложений при помощи Flask. Автор проведет вас через создание трех разных проектов.

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

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

В последнем проекте вы будете использовать Flask с более современными технологиями, такими как Bootstrap и MongoDB. Вы создадите приложение для вызова официанта в ресторане.

Все эти проекты помогут вам хорошо освоить Flask, а также отточить навыки работы с базами данных, HTML, CSS и JavaScript. Вы будете работать со сторонними API, а также изучите вопросы безопасности приложений и научитесь защищаться от распространенных атак, таких как SQL injection и XSS.

 

4. Building Web Applications with Flask

Автор: Italo Maia. Год издания: 2015. Язык: английский.

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

Читая эту книгу, вы научитесь:

  • создавать одностраничные приложения при помощи Flask;
  • использовать макросы, фильтры, теги и контролирующие структуры для рендеринга ответов на пользовательские запросы;
  • безопасно работать с формами;
  • использовать базы данных NoSQL и SQL;
  • генерировать простые, но мощные REST-сервисы из ваших моделей данных;
  • использовать компоненты Flask для создания поддерживаемых проектов;
  • пользоваться всей мощью расширений для создания надежных правил авторизации и системы разрешений.

5. Flask Framework Cookbook

Автор: Shalabh Aggarwal. Год издания: 2014. Язык: английский.

Это второе, обновленное издание книги. В нем рассматривается Python 3 и последняя версия Flask (последняя на 2014 год, — прим. ред.), а также убрано упоминание устаревших библиотек. И, конечно, в новой редакции вы найдете новые рецепты применения технологий.

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

Книга начинается с обзора конфигураций, которые могут быть использованы в приложении на Flask. Затем автор представляет читателю работу с шаблонами, ORM и слоями представлений. Также вы научитесь создавать интерфейсы и управлять ими, затронете вопросы отладки и логирования ошибок. Наконец, вы научитесь разным техникам развертывания для таких платформ как Apache, Tornado и Heroku.

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

 

6. Learning Flask Framework

Авторы: Matt Copperwaite, Charles Leifer. Год издания: 2015. Язык: английский.

Эта книга предназначена для Python-разработчиков, которые хотят научиться создавать что-то, используемое в вебе. Фреймворк Flask следует принципам Python, а потому будет понятен любому, кто владеет этим языком (впрочем, в нем смогут разобраться даже те, кто не знаком с Python).

Из этой книги вы узнаете, как:

  • создавать веб-страницы и делать ваше веб-приложение модульным и гибким, используя шаблоны;
  • хранить и получать реляционные данные, используя SQLAlchemy;
  • разрабатывать схему миграций при помощи Alembic;
  • создавать RESTful API, используя Flask-Restless;
  • имитировать запросы и сессии, используя тестовый клиент Flask;
  • делать Ajax-запросы из шаблонов Jinja2.