Разработка веб-приложений с использованием Flask на языке Python, Гринберг М., 2014.
В этой книге вы изучите популярный микрофреймворк Flask на пошаговых примерах создания законченного приложения социального блогинга. Автор книги Мигель Гринберг познакомит вас с основными функциональными возможностями фреймворка и покажет, как расширять приложения дополнительными веб-технологиями, такими как поддержка миграции базы данных и взаимодействия с веб-службами.
Вместо того чтобы навязывать строгие правила, как это делают другие фреймворку Flask оставляет за вами свободу принятия решений. Если вы имеете опыт программирования на языке Python, данная книга покажет вам, как можно воспользоваться такой свободой творчества!
Контексты приложения и запроса.
Когда фреймворк Flask принимает запрос от клиента, он должен обеспечить доступ к нескольким объектам из функции представления, которая будет обрабатывать запрос. Хорошим примером может служить объект запроса, содержащий HTTP-запрос, отправленный клиентом.
Очевидный способ обеспечить доступ к объекту запроса - передать его в виде аргумента, но для этого потребовалось бы, чтобы каждая функция представления в приложении принимала дополнительный аргумент. Ситуация становится еще более сложной, если принять во внимание, что объект запроса - не единственный объект, доступ к которому должна иметь функция представления, чтобы суметь обработать запрос.
Содержание.
Предисловие.
Часть I. Введение в Flask.
Глава 1. Установка.
Использование виртуальных окружений.
Установка пакетов Python с помощью pip.
Глава 2. Структура простого приложения.
Инициализация.
Маршруты и функции представлений.
Запуск сервера.
Законченное приложение.
Цикл запрос-ответ.
Контексты приложения и запроса.
Обработка запросов.
Обработчики событий жизненного цикла.
Ответы.
Расширения Flask.
Поддержка параметров командной строки с помощью Flask-Script.
Глава 3. Шаблоны.
Механизм шаблонов Jinja2.
Отображение шаблонов.
Переменные.
Управляющие структуры.
Интеграция Twitter Bootstrap с помощью Flask-Bootstrap.
Нестандартные страницы с сообщениями об ошибках.
Ссылки.
Статические файлы.
Локализация дат и времени с помощью Flask-Moment.
Глава 4. Веб-формы.
Защита от подделки межсайтовых запросов.
Классы форм.
Отображение форм в формат HTМL.
Обработка форм в функциях представления.
Переадресация и сеансы.
Всплывающие сообщения.
Глава 5. Базы данных.
Базы данных SQL.
Базы данных NoSQL.
SQL или NoSQL?.
Фреймворки на Python поддержки баз данных.
Интеграция с фреймворком Flask.
Управление базой данных с помощью Flask-SQLAlchemy.
Определение модели.
Отношения.
Операции с базами данных.
Создание таблиц.
Вставка строк.
Изменение строк.
Удаление строк.
Извлечение строк.
Операции с базой данных в функциях представления.
Интеграция с интерактивной оболочкой Python.
Миграция базы данных с помощью Flask-Migrate.
Создание репозитория миграции.
Создание сценария миграции.
Обновление базы данных.
Глава 6. Электронная почта.
Поддержка электронной почты с помощью Flask-Mail.
Отправка электронной почты из интерактивной оболочки Python.
Интеграция поддержки электронной почты в приложение.
Асинхронная отправка электронной почты.
Глава 7. Структура больших приложений.
Структура проекта.
Параметры настройки.
Пакет приложения.
Фабричная функция приложения.
Реализация функциональности приложения в виде макета.
Сценарий запуска.
Файл зависимостей.
Модульные тесты.
Настройка базы данных.
Часть II. Пример: приложение социального блогинга.
Глава 8. Аутентификация пользователей.
Расширения аутентификации для Flask.
Зашита паролей.
Хэширование паролей с помощью Werkzeug.
Создание макета для поддержки аутентификации.
Аутентификация пользователя с помощью Flask-Login.
Подготовка модели User для аутентификации.
Защита маршрутов.
Добавление формы аутентификации.
Выход пользователя.
Тестирование процедуры аутентификации.
Регистрация нового пользователя.
Добавление формы регистрации пользователя.
Регистрация.
Подтверждение создания учетной записи.
Создание маркера подтверждения с помощью itsdangerous.
Отправка электронных писем с инструкциями для подтверждения.
Управление учетными записями.
Глава 9. Роли пользователей.
Представление ролей в базе данных.
Присваивание ролей.
Проверка роли.
Глава 10. Профили пользователей.
Информация для профиля.
Страница профиля пользователя.
Редактор профиля.
Редактор профиля уровня пользователя.
Редактор профиля уровня администратора.
Аватары пользователей.
Глава 11. Блогинг.
Отправка и отображение сообщении.
Сообщения из блогов на страницах профилей.
Постраничный вывод длинных списков сообщений.
Создание фиктивных сообщений.
Постраничное отображение данных.
Виджет постраничного отображения.
Форматирование текста сообщений с помощью Markdown и Flask-Page Down.
Flask-Page Down.
Обработка форматированного текста на сервере.
Постоянные ссылки на сообщения.
Редактор сообщений.
Глава 12. Читающие и читаемые.
Пересмотр отношений в базе данных.
Отношение «многие ко многим».
Самоссылочные отношения.
Усовершенствованные отношения «многие ко многим».
Читающие и читаемые на странице профиля.
Запрос сообщений читаемых пользователей с помощью операции соединения.
Отображение сообщений читаемых пользователей на главной странице.
Глава 13. Комментарии пользователей.
Представление комментариев в базе данных.
Отправка и отображение комментариев.
Модерирование комментариев.
Глава 14. Прикладные программные интерфейсы.
Введение в REST.
Все сущее является ресурсами.
Методы запросов.
Содержимое запросов и ответов.
Поддержка версий.
Веб-службы RESTful на основе Flask.
Создание макета API.
Обработка ошибок.
Аутентификация пользователей с помощью Flask-HTTPAuth.
Аутентификация на основе маркеров.
Преобразование ресурсов в формат JSON и обратно.
Реализация конечных точек ресурсов.
Разбивка больших коллекции ресурсов на страницы.
Тестирование веб-служб с помощью HTTPie.
Часть III. Последняя миля.
Глава 15. Тестирование.
Получение отчета о степени охвата кода тестированием.
Тестовый клиент Flask.
Тестирован нс веб- приложений.
Тестирование веб-служб.
Сквозное тестирование с помощью Selenium.
Насколько это необходимо?.
Глава 16. Производительность.
Регистрация медленных запросов к базе данных.
Профилирование исходного кода.
Глава 17. Развертывание.
Порядок развертывания.
Журналирование ошибок во время эксплуатации.
Развертывание в облаке.
Платформа Heroku.
Подготовка приложения.
Тестирование с помощью Foreman.
Включение безопасного протокола HTTP с помощью Flask-SSLify.
Развертывание командой git push.
Просмотр журналов.
Развертывание и обновление.
Традиционный хостинг.
Настройка сервера.
Импортирование переменных окружения.
Настройка журналирования.
Глава 18. Дополнительные ресурсы.
Использование интегрированной среды разработки.
Поиск расширений для Flask.
Участие в разработке Flask.
Предметный указатель.
Об авторе.
Выходные данные.
Купить .
По кнопкам выше и ниже «Купить бумажную книгу» и по ссылке «Купить» можно купить эту книгу с доставкой по всей России и похожие книги по самой лучшей цене в бумажном виде на сайтах официальных интернет магазинов Лабиринт, Озон, Буквоед, Читай-город, Литрес, My-shop, Book24, Books.ru.
По кнопке «Купить и скачать электронную книгу» можно купить эту книгу в электронном виде в официальном интернет магазине «ЛитРес», и потом ее скачать на сайте Литреса.
По кнопке «Найти похожие материалы на других сайтах» можно найти похожие материалы на других сайтах.
On the buttons above and below you can buy the book in official online stores Labirint, Ozon and others. Also you can search related and similar materials on other sites.
Теги: учебник по программированию :: программирование :: Гринберг :: веб-приложение
Смотрите также учебники, книги и учебные материалы:
- Основы программирования на примере языка Python, Федоров Д., 2018
- Сам себе программист, Как научиться программировать и устроиться в Ebay, Альтхофф К., 2018
- Рефакторинг кода на JavaScript, Улучшение проекта существующего кода, Фаулер М., 2019
- Разработка приложений на языке Java, Кислицын Е.В., Шишков Е.И., 2017
- Разработка Backbone js приложений, Османи Э., 2014
- Простой Python просто с нуля, Рик Гаско, 2019
- Применение DDD и шаблонов проектирования, Проблемно-ориентированное проектирование приложений с примерами на C# и .NET, Нильссон Д., 2008
- Предметно-ориентированное проектирование, DDD, Структуризация сложных программных систем, Эванс Э., 2011