Веб-приложение сервера Sgskip

PythonPythonBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии вы научитесь использовать Matplotlib в сервере веб-приложения Flask. Вы узнаете, как создавать графики с использованием конструктора .Figure и сохранять их в буферы памяти, встраивать полученные графики в HTML-вывод и запускать веб-приложение Flask с использованием командной строки flask.

Советы по работе с ВМ

После запуска виртуальной машины кликните в левом верхнем углу, чтобы переключиться на вкладку Ноутбук и получить доступ к Jupyter Notebook для практики.

Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.

Если вы столкнетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Установка зависимостей

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

pip install matplotlib flask

Импорт зависимостей

В этом шаге мы импортируем необходимые зависимости. Мы будем использовать base64 для кодирования данных изображения, BytesIO для хранения данных изображения в памяти, Flask для создания сервера веб-приложения и Figure для создания графиков.

import base64
from io import BytesIO

from flask import Flask

from matplotlib.figure import Figure

Создание веб-приложения Flask

В этом шаге мы создадим веб-приложение Flask. Мы определим маршрут для главной страницы ("/") и функцию для генерации и встраивания графика Matplotlib.

app = Flask(__name__)

@app.route("/")
def home():
    ## Generate the figure **without using pyplot**.
    fig = Figure()
    ax = fig.subplots()
    ax.plot([1, 2])
    ## Save it to a temporary buffer.
    buf = BytesIO()
    fig.savefig(buf, format="png")
    ## Embed the result in the html output.
    data = base64.b64encode(buf.getbuffer()).decode("ascii")
    return f"<img src='data:image/png;base64,{data}'/>"

Запуск веб-приложения Flask

В этом шаге мы запустим веб-приложение Flask с использованием командной строки flask. Предполагая, что рабочая директория содержит этот скрипт, запустите следующую команду, чтобы запустить сервер:

FLASK_APP=matplot_lib_tutorial_lab flask run

Просмотр результата

В этом шаге мы будем просматривать результат работы веб-приложения Flask, перейдя по адресу http://localhost:5000/ в веб-браузере. На странице должен быть отображен график Matplotlib.

Резюме

В этом практическом занятии мы узнали, как использовать Matplotlib в сервере веб-приложения Flask. Мы создали веб-приложение Flask, сгенерировали график Matplotlib, встроили его в выходной HTML и запустили веб-приложение Flask с использованием командной строки flask.