Почему вам стоит выбрать фреймворк Flask для своего следующего проекта
Senior Python Developer рассказывает о возможностях Flask и особенностях работы с ним, а также советует, когда стоит использовать этот фреймворк.
15К открытий16К показов
Максим Кузнецов
Senior Python Developer в Akvelon
Flask — фреймворк для создания веб-приложений на языке программирования Python, использующий набор инструментов Werkzeug, а также шаблонизатор Jinja2. Относится к категории так называемых микрофреймворков — минималистичных каркасов веб-приложений, сознательно предоставляющих лишь самые базовые возможности.
Flask зависит от некоторых внешних библиотек — таких как Werkzeug и Jinja2.
Werkzeug — это инструментарий для WSGI, стандартного интерфейса Python между веб-приложениями и различными серверами. Он предназначен как для разработки, так и развёртывания.
Jinja2 — шаблонизатор:
Пример минимального приложения на Flask «Hello World!»:
Пример приложения с шаблонизатором на Flask:
Встроенные фичи
- Сервер разработки и отладчик
- Интегрированная поддержка модульного тестирования
- Отправка запросов RESTful
- Использование шаблонизатора Jinja2
- Поддержка безопасных файлов cookie (сеансы на стороне клиента)
- 100% соответствие WSGI 1.0
- Unicode
- Обширная документация
- Совместимость с Google App Engine
- Расширения для улучшения желаемых функций
Применение Flask
Сообществом поддерживается серия пакетов-расширений для Flask. Их название обычно начинается с flask-, например, flask-login, flask-sqlalchemy, flask-wtf.
Flask является конструктором, поэтому все дополнительные фичи придётся устанавливать вручную. Фреймворк очень хорошо подходит для небольших проектов, работающих в основном со статическим контентом. Также подходит для создания микросервисов. Из-за отсутствия встроенного ORM позволяет выбрать подходящий под ваши нужды. Де-факто используют SqlAlchemy.
Flask 2.0
С мая 2021 года Flask начал обновляться и внедрять асинхронный режим работы. Синтаксис вы можете увидеть ниже:
Когда стоит использовать Flask
- Если нужен небольшой бэк.
- Если хотите сделать свой pet-проект.
- Если вы не знакомы с асинхронностью.
- Если хотите получить больше опыта и возможностей для обучения.
- Если вам нужно больше контроля над используемыми компонентами.
Полезные ссылки
15К открытий16К показов