Главная | Все статьи | Код

Введение в Flask: создание веб-приложений на Python

Python Время чтения статьи ~3 минуты
Введение в Flask: создание веб-приложений на Python главное изображение

Вы уже понимаете базовые конструкции Python, знакомы с тегами и структурой веб-страниц HTML и хотите разрабатывать веб-приложения? Самое время знакомиться с Flask!

Познакомьтесь с Python бесплатно

Начните с этих 5 уроков

Что такое Flask?

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

Особенности Flask

  • Минимализм. Flask предлагает довольно компактный набор инструментов для разработки сайтов, что делает его идеальным фреймворком для начинающих разработчиков.
  • Гибкость. Flask не устанавливает жесткие правила относительно структуры и архитектуры новых приложений.
  • Расширяемость. С помощью плагинов в Flask можно интегрировать любые необходимые функции. В нём можно делать несложные сайты со статическим контентом либо использовать его на крупных проектах.
  • Связь с базами данных. Flask-приложения можно связывать с различными базами для работы с датасетами. Решение позволяет читать, записывать и удалять информацию. Настройка данной связи потребует интеграции библиотек SQLAlchemy или Flask-SQLAlchemy.
  • Микроподход. Flask позволяет максимально быстро делать веб-приложения на базе одного файла с минимальной функциональностью.
  • Тестирование. Проверку и отладку решений Flask осуществляет с помощью фреймворка pytest.
  • Профессиональное комьюнити и служба поддержки. Flask популярен среди программистов. Он был создан в 2010 году и за эти годы собрал вокруг себя большое сообщество Flask-разработчиков, всегда готовых помочь начинающим. А еще у этого фреймворка обширная база доступных обучающих ресурсов.

Установка Flask и создание базового приложения

Перед установкой Flask необходимо установить Python с менеджером пакетов PIP для управления сторонними библиотеками.

Попробуйте себя в Python

Начать с 5 бесплатных уроков

Установка

Для установки фреймворка Flask и необходимых зависимостей используйте команду $ pip install Flask.

Проверить работу фреймворка можно с помощью команды pip show flask или строки import flask в Python-файле. После установки фреймворка можно приступать к созданию приложения.

Для примера разработаем простое приложение для вывода приветствия на главный экран.

Создание приложения

Процесс можно уложить в три несложных шага:

  1. Создание новой папки для проекта.
  2. Создание основного файла приложения — Python-файл app.py — внутри папки проекта.
  3. Написание кода в текстовом редакторе файла. Он будет выводить стандартную фразу Hello, World! в браузере. На практике код будет выглядеть так:
**from** flask **import** Flask

app = Flask**(**__name__**)**

@app.route**(**"/"**)**

**def** hello_world**():**

**return** "Hello, World!"

if name == 'main':

app.run()

Основные инструменты Flask

Уникальность Flask заключается в возможности писать веб-приложения на базе минимального набора инструментов. Рассмотрим три основных элемента фреймворка: построение маршрутов, обработка шаблонов Jinja2 и инструментарий для работы с WSGI Werkzeug.

Маршрутизация

Маршрутизация во  Flask определяет, как ваш сайт будет реагировать на разные URL и какие страницы будет отображать. Для этого используется декоратор route().

Пример:

@app.route('/about')

**def** about():

**return** 'This is the about page'

В этом примере мы увидим сообщение This is the about page при переходе по адресу http://127.0.0.1:5000/about.

Рекомендуем попробовать

5 бесплатных уроков Python

Шаблонизатор Jinja2

Flask формирует веб-страницы через шаблоны — HTML-страницы, куда передаются данные с бэкенда. К ним же подключают CSS-фреймворки и JS-скрипты. Шаблонами управляет обработчик Jinja2 — набор инструкций для создания условий, наследований, блоков, циклов и макросов. Он помогает автоматизировать процесс создания HTML-шаблонов для работы со сложными данными.

Главные преимущества Jinja2:

  • Самостоятельная обработка контента без обращения к бэкенду.
  • Наследование стилей и дизайна базового шаблона. Дочерние шаблоны просто дополняют его собственным контентом.

Пример шаблона:

import jinja2

environment = jinja2.Environment()

template = environment.from_string("Hello, {{ name }}!")

template.render(name="World")

Пример вывода:

'Hello, World!'

Werkzeug

Этот сервис — комплексная библиотека протоколов взаимодействия Python c веб-серверами (WSGI). Эти протоколы реализуют запросы, объекты ответов и функции разрабатываемых приложений.

На курсе «‎Python: веб-разработка (Flask)»‎ вы подробно изучите функциональность фреймворка Flask, ознакомитесь с его наиболее популярными расширениями и научитесь создавать на нём несложные сайты.

Рекомендуемые программы
профессия
от 6 300 ₽ в месяц
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 3 октября
профессия
от 6 300 ₽ в месяц
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 3 октября
профессия
от 6 183 ₽ в месяц
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 3 октября
профессия
от 6 300 ₽ в месяц
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 3 октября
профессия
от 5 025 ₽ в месяц
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 3 октября
профессия
от 6 300 ₽ в месяц
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 3 октября
профессия
от 5 840 ₽ в месяц
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 3 октября
профессия
от 9 900 ₽ в месяц
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 3 октября
профессия
от 6 300 ₽ в месяц
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 3 октября
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
в разработке
Старт 3 октября