Предисловие

Перед началом работы с Flask прочтите это. Мы надеемся, вы получите ответы на некоторые вопросы о задачах и назначении проекта, а также о том, когда вам следует, а когда не следует его использовать.

Что означает «микро»?

“Микро” не означает, что ваше веб-приложение целиком помещается в один файл с кодом на Python, хотя конечно же это может быть и так. Также, это не означает. что Flask испытывает недостаток функциональности. «Микро» в слове «микрофреймворк» означает, что Flask стремится придерживаться простого, но расширяемого ядра. Flask не может за вас решить многие вещи, например, какую базу данных использовать. А те решения, которые он может принять, например, который из движков для работы с шаблонами использовать, легко изменить. Всё остальное зависит от вас, таким образом, может оказаться, что Flask - всё что вам нужно, и ничего лишнего.

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

Конфигурация и Соглашения

Flask имеет много параметров конфигурации с разумными значениями по умолчанию, и мало соглашений перед тем, как начать. По соглашению, шаблоны и статические файлы хранятся в поддиректориях внутри дерева исходных текстов на Python, с названиями templates и static соответственно. Хотя это можно и поменять, обычно этого делать не стоит, особенно в самом начале работы.

Расти вместе с Flask

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

Пока ваша кодовая база растёт, вы вольны принимать уместные для вашего проекта решения. Flak продолжит обеспечивать очень простой слой для склейки тем наилучшим образом, каким это может предложить Python. Вы можете реализовать расширенные шаблоны в SQLAlchemy или в ином средстве для работы с БД, в необходимых случаях применить надёжные нереляционные базы данных и использовать преимущества изначально не предназначенных для работы с фреймворками средств, построенных для работы с WSGI - веб интерфейсом для языка Python.

Flask включает множество крючков (хуков) для настройки его поведения. Если вам нужны дополнительные настройки, класс Flask построен, чтобы быть готовым к созданию подклассов. Если это вас заинтересовало, проверьте раздел becomingbig. Если вам любопытны принципы, в соответствии с которым спроектирован Flask, посмотрите раздел Проектные решения во Flask.

Продолжение: Инсталяция, Быстрый старт, или Предисловие для опытных программистов.