Введение во Flask

Flask — это микрофреймворк для Python, созданный в 2010 году разработчиком по имени Армин Ронахер. Но что значит это «микро»?

Это говорит о том, что Flask действительно маленький. У него в комплекте нет ни набора инструментов, ни библиотек, которыми славятся другим популярные фреймворки Python: Django или Pyramid. Но он создан с потенциалом для расширения. Во фреймворке есть набор базовых возможностей, а расширения отвечают за все остальное. «Чистый» Flask не умеет подключаться к базе данных, проверять данные формы, загружать файлы и так далее. Для добавления этих функций нужно использовать расширения. Это помогает использовать только те, которые на самом деле нужны.

Flask также не такой жесткий в отношении того, как разработчик должен структурировать свою программу, в отличие от, например, Django где есть строгие правила. Во Flask можно следовать собственной схеме.

Установка Flask

Примечание: перед тем как двигаться дальше, нужно удостовериться, что в системе установлены Python и пакет virtualenv.

Создание виртуальной среды (Virtual Environment)

Виртуальная среда — это изолированная копия Python, куда устанавливаются пакеты, не затрагивающие глобальную версию Python. Начать нужно с создания папки flask_app. В ней будет храниться приложение Flask.

gvido@vm:~$ mkdir flask_app
gvido@vm:~$

Важно не забыть сменить рабочий каталог на flask_app с помощью команды cd.

gvido@vm:~$ cd flask_app/
gvido@vm:~/flask_app$

Следующий шаг — создание виртуальной среды внутри папки flask_app с помощью команды virtualenv.

gvido@vm:~/flask_app$ virtualenv env
Using base prefix '/usr'
New python executable in /home/gvido/flask_app/env/bin/python3
Also creating executable in /home/gvido/flask_app/env/bin/python
Installing setuptools, pip, wheel...done.
gvido@vm:~/flask_app$

После выполнения вышеуказанной команды в папке flask_app должна появиться еще одна под названием env. В ней будет храниться отдельная версия Python, включающая все исполняемые скрипты, как и в глобальной версии. Для использования среды ее нужно активировать.

В Linux и Mac OS это делается с помощью следующей команды.

gvido@-vm:~/flask_app$ source env/bin/activate
(env) gvido@vm:~/flask_app$

Пользователям Windows нужно использовать следующую команду.

C:\Users\gvido\flask_app>env\Scripts\activate
(env) C:\Users\gvido\flask_app>

Стоит обратить внимание, что название виртуальной среды теперь написано в скобках перед активной строкой ввода, например, (env). Это значит, что среда есть и активна. Теперь все установленные пакеты будут доступны только внутри этой среды.

Включение виртуальной среды временно меняет переменную окружения PATH. Так, если сейчас ввести в терминале python, будет вызван интерпретатор внутри среды, то есть, env, вместо глобального.

После окончания работы со средой, ее нужно выключить с помощью команды deactivate.

(env) gvido@vm:~/flask_app$ deactivate
gvido@vm:~/flask_app$

Эта же команда снова делает доступным глобальный интерпретатор Python.


Установка Flask

Для установки Flask внутри виртуальной среды нужно ввести следующую команду.

(env) gvido@vm:~/flask_app$ pip install flask

Проверить, прошла ли установка успешно, можно, вызвав интерпретатор Python и импортировав Flask.

(env) gvido@vm:~/flask_app$ python
Python 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC  5.4.0  20160609] on linux
Type "help", "copyright", "credits" or "license"  for more information.
>>>  import flask
>>>  flask.__version__
'0.12.2'
>>>

Если ошибок нет, значит Flask успешно установился.