Flask

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

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

На курсе мы обсудим все подводные камни, на которые может «наступить» новичок, и поговорим о лучших практиках, используемых в разработке веб-приложений с помощью Flask. Будет рассмотрен процесс создания веб-приложения с использованием Jinja2 Templates – работа с циклами и условиями, наследование форм. Вы познакомитесь с архитектурным стилем построения веб-сервисов REST, SQLAlchemy и свяжете приложение с SQLite3.

Далее, вы узнаете, для чего нужна и как использовать валидацию пользовательских данных на стороне сервера, и что такое сериализация и десериализация данных. Вы поймете, что такое миграции в базе данных, для чего они используются и как задействовать на практике миграционные инструменты в Flask. Вы рассмотрите, что такое аутентификация и чем она отличается от авторизации, какие существуют способы аутентификации REST, познакомитесь со стандартом создания токенов JWT. Также вы узнаете, как правильно тестировать Flask приложение, какие тесты бывают, что такое потоки, примитивы синхронизации в Python, как они могут ускорить вашу программу, рассмотрите использование асинхронности в вашем приложении. На последних уроках вы на практике рассмотрите, что такое Docker и как доставлять приложения клиенту, научитесь писать Dockerfile и развернете ваше приложение на Heroku.

ВИДЕОУРОК №1. Начало работы с Flask

В первую очередь настроим среду для разработки, установим все зависимости. Также мы познакомимся с Flask, узнаем, как он работает и из каких компонентов состоит: представления, модели и контроллеры. Построим первое веб-приложение с использованием Jinja2 Templates: работа с циклами и условиями, наследование форм.