1.1 Почему Flask называют «микро» фреймворком?
«Микро» в данном контексте не значит, что ваше веб-приложение обязательно должно состоять из одного файла на языке Python, хотя никто не мешает вам поступить именно так. Также, не имеется ввиду, что Flask уступает по своей функциональности и возможностям другим фреймворкам. Приставка «микро» в слове микрофреймворк подразумевает, что ядро Flask разрабатывается максимально простым, но с богатыми возможностями для расширения. Flask не принимает решения за вас, такие как, например, «какую базу данных использовать?». А те решение которые идут «из коробки»(например, шаблонная система), легко заменяются на другие. Все остальное зависит от вас, потому что Flask не содержит ничего лишнего.
По умолчанию, в Flask не встроены слой абстракции для доступа к базам данных(имеется ввиду ORM, например SQLAlchemy – прим. пер.), модуль валидации форм, или другие библиотеки, если таковые уже существуют в природе и справляются со своими задачами самостоятельно. Вместо этого, Flask поддерживает расширения, которые позволяют добавлять в ваше приложение ту или иную функциональность, таким образом как будто эти расширения являются неотъемлемой частью Flask. Многочисленные расширения обеспечивают интеграции с базами данных, валидацию форм, управление загрузкой фалов на сервер, различные открытые технологии аутенфикации, и многое, многое другое. Flask является по определению «микро» фреймворком, но он готов работать в «боевом» режиме, для широкого спектра веб-приложений.
1.2 Настройки по умолчанию и соглашения
Flask имеет множество настроек, которые по умолчанию настроены за Вас по определенному «соглашению». Например, по соглашению, шаблоны и статичные файлы сохраняются в дереве папок Python-приложения, которые называются templates(шаблоны) и static(статика) соответственно. Вы можете изменить это поведение, хотя обычно это не требуется, особенно если вы только начинаете изучать Flask.
1.3 Развитие с Flask
После того, как вы познакомитесь с Flask, вы сможете найти большое количество расширений, доступных в Flask-сообществе для добавления функционала вашему веб-приложению. Команда разработки ядра Flask анализирует и тестирует каждое расширение на предмет безопасности и совместимости с будущими версиями фреймворка.
Со временем количество вашего кода будет расти, и вы будете вольны принимать подходящие решения конкретно для вашего проекта. Тем временем, Flask будет предоставлять вам тонкий слой «клея»(имеется ввиду код, который связывает между собой все компоненты веб-приложения и дает им возможность взаимодействовать друг с другом — прим. пер.) использующий наилучшие стороны и качества языка Python. Вы можете реализовать сложные шаблоны с помощью SQLAlchemy или другого инструмента для работы с базами данных, использовать нереляционные хранилища при надобности, и использовать всю мощь WSGI, веб-интерфейса для приложений написанных на Python.
Flask содержит множество «рычагов» для настройки своего поведения, но если вам их будет недостаточно, фреймворк содержит класс Flask, который вы можете наследовать и переопределять.
Источник: