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

Читать в полной версии →

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

Что такое Flask?

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

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

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

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

Установка

Для установки фреймворка 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.

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