Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка веб-приложений с использованием фреймворка Flask. В 2 частях. Ч.2. Учебное пособие-1.pdf
Скачиваний:
2
Добавлен:
06.09.2026
Размер:
421 Кб
Скачать
☆

ЗАКЛЮЧЕНИЕ

Фреймворк Flask действительно небольшой. У него в комплекте нет ни набора инструментов, ни библиотек, которыми славятся другие популярные фреймворки Python: Django или Pyramid. Но данный фреймворк создан с по-

тенциалом для расширения. В нём есть набор базовых возможностей, а расши-

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

Расширения Flask – это пакеты, которые можно установить, чтобы рас-

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

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

76

СПИСОК ЛИТЕРАТУРЫ

1.Документация фреймворка Flask [Электронный ресурс]. – URL : https://flask.palletsprojects.com/en/1.1.x/

2.The Flask Mega-Tutorial [Электронный ресурс]. – URL : https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-worl

3.Grinberg, Ml. Flask Web Development // Developing Web Applications with Python 2nd Edition. – O'Reilly Media; 2 edition, 2018. – 316 p.

77

ОГЛАВЛЕНИЕ

Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1. Подготовка к разработке . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1. Начало работы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2. Использование контейнеров Docker . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3. Настройка СУБД PostgreSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4. Настройка тестов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.5. Рефакторинг приложения с использованием Flask Blueprint . . . . . . . . 17 1.6. Создание RESTful-маршрутов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

1.6.1. Маршрут POST /users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.6.2. Маршрут GET /users/:id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.6.3. Маршрут GET /users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 1.7. Использование шаблонов Jinja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 1.8. Структура проекта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2. Отладка приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.1. Покрытие тестами и качество кода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.1.1. Покрытие кода тестами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.1.2. Качество кода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.2. Непрерывная интеграция . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.3. Панель инструментов отладки Flask . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.4. Структура приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3. Развитие приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.1. Пакет Flask Migrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.1.1. Изменение модели . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.1.2. Настройка Flask Migrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.2. Рефакторинг кода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.3. Пакет Flask Bcrypt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.4. Настройка Log Rounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.5. Использование токенов JWT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.5.1. Пакет PyJWT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

78

3.5.2. Расшифровка токена . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.6. Маршруты для аутентификации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 3.6.1. Маршрут POST /auth/register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.6.2. Маршрут POST /auth/login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 3.6.3. Маршрут GET /auth/logout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 3.6.4. Маршрут GET /auth/status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Список литературы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

79

Учебное электронное издание

ЕЛИСЕЕВ Алексей Игоревич МИНИН Юрий Викторович ГРИДНЕВ Виктор Алексеевич

РАЗРАБОТКА ВЕБ-ПРИЛОЖЕНИЙ

С ИСПОЛЬЗОВАНИЕМ ФРЕМВОРКА FLASK

В ДВУХ ЧАСТЯХ

ЧАСТЬ 2

Учебное пособие

Редактирование Е. С. Мордасовой Компьютерное макетирование М. А. Евсейчевой Обложка, упаковка, тиражирование Т. Ю. Зотовой

ISBN 978-5-8265-2438-1

Подписано к использованию 27.10.2021. Тираж 50 шт. Заказ № 109

Издательский центр ФГБОУ ВО «ТГТУ» 392000, г. Тамбов, ул. Советская, д. 106, к. 14

Телефон (4752) 63-81-08 E-mail: izdatelstvo@tstu.ru

80

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]