Время прочтения: 4 мин.

Фреймворк Flask позволят быстро создавать простые сайты, подключать к ним базы данных, использовать все возможности Python для удобной разработки. С его помощью можно писать не только маленькие сайты, но и крупные масштабируемые веб-приложения, используя все возможные расширения.

Покажу простоту использования Flask на примере разработки сайта, определяющего регион и оператора телефонной связи по номеру телефона.

Создаю Python проект. В IDLE PyCharm можно сразу создать Flask проект.

Если вы используете другую среду разработки, просто создайте новый проект и установите в виртуальное окружение библиотеку Flask.

pip install flask

Flask использует следующую структуру проекта

templates – хранилище HTML шаблонов,

static – хранилище статичных компонентов,

app.py – само веб-приложение.

app.py

Так выглядит первоначальное Flask приложение. В дальнейшем нужно расширять этот файл новыми функциями. Каждая функция с декоратором “@app.route” будет отвечать за отдельную страницу сайта. В этих функциях необходимо создавать маршрутизацию между страницами, обрабатывать запросы пользователя.

Так как приложение должно принимать российский номер телефона, сопоставлять его с имеющимся перечнем сотовых операторов и выдавать ответ пользователю, создам базу данных sqlite3 для хранения данных сотовых операторов. Передам туда исходные данные.

Исходные данные хранились в формате csv. Импортирую модуль csv и прочитаю данные файла

Импортирую базу данных sqlite3.

Создам файл базы данных database.db

Прочитаю файл schema.sql, в котором хранится скрипт создания таблицы базы данных, и выполню запрос к database.db.

Осталось вставить все прочитанные из csv данные в базу данных и закрыть соединение.

Вернусь к файлу app.py. Создам функцию, принимающую номер телефона и возвращающую сотового оператора, к которому относится номер.

Данная функция проверяет формат номера телефона, отправляет SELECT запрос к базе данных и возвращает найденную строчку или сообщение об ошибке.

Создам функцию index, работающую с шаблоном index.html.

Данная функция объявляет маршрут index.html и обрабатывает запросы пользователя, полученные методом POST.

Создам шаблон index.html

Flask позволяет использовать стандартные конструкции ветвления такие как:

  • Условные операторы {% if condition  %} {% endif %}
  • Циклы {% for I in list %} {% end for %}

Также есть возможность использовать переменные, переданные в шаблон {{ data }}.

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

Пример работы созданного сайта.

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