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.