Время прочтения: 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 позволяет без особых усилий создавать масштабируемые приложения. Используя готовые расширения, можно создавать полноценные сайты с системами авторизации, субд и адаптивной вёрсткой.