Предисловие

Перед началом работы с 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.

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

Оригинал этой страницы