Webanwendungsserver Sgskip

PythonPythonBeginner
Jetzt üben

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

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Tutorial-Labor führen wir Sie durch die Verwendung von Matplotlib in einem Flask-Webanwendungsserver. Sie werden lernen, wie Sie Figuren mit dem .Figure-Konstruktor erstellen und in in-memory-Puffer speichern, die resultierenden Figuren in die HTML-Ausgabe einbetten und die Flask-Anwendung mit dem flask-Befehlszeilentool ausführen.

Tipps für die VM

Nachdem der VM-Start abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund von Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.

Abhängigkeiten installieren

Bevor wir beginnen, stellen Sie sicher, dass Sie die erforderlichen Pakete installiert haben. Sie können sie mit pip installieren.

pip install matplotlib flask

Abhängigkeiten importieren

In diesem Schritt importieren wir die erforderlichen Abhängigkeiten. Wir werden base64 verwenden, um die Bilddaten zu kodieren, BytesIO, um die Bilddaten im Speicher zu speichern, Flask, um den Webanwendungsserver zu erstellen, und Figure, um die Figuren zu erstellen.

import base64
from io import BytesIO

from flask import Flask

from matplotlib.figure import Figure

Flask-Anwendung erstellen

In diesem Schritt erstellen wir die Flask-Anwendung. Wir definieren eine Route für die Startseite ("/") und eine Funktion, um die Matplotlib-Figur zu generieren und einzubetten.

app = Flask(__name__)

@app.route("/")
def home():
    ## Generieren Sie die Figur **ohne die Verwendung von pyplot**.
    fig = Figure()
    ax = fig.subplots()
    ax.plot([1, 2])
    ## Speichern Sie sie in einem temporären Puffer.
    buf = BytesIO()
    fig.savefig(buf, format="png")
    ## Betten Sie das Ergebnis in die HTML-Ausgabe ein.
    data = base64.b64encode(buf.getbuffer()).decode("ascii")
    return f"<img src='data:image/png;base64,{data}'/>"

Flask-Anwendung ausführen

In diesem Schritt führen wir die Flask-Anwendung mit dem flask-Befehlszeilentool aus. Angenommen, das Arbeitsverzeichnis enthält dieses Skript, führen Sie den folgenden Befehl aus, um den Server zu starten:

FLASK_APP=matplot_lib_tutorial_lab flask run

Ausgabe anzeigen

In diesem Schritt werden wir die Ausgabe der Flask-Anwendung anzeigen, indem wir in einem Webbrowser zu http://localhost:5000/ navigieren. Die Matplotlib-Figur sollte auf der Seite angezeigt werden.

Zusammenfassung

In diesem Tutorial-Labor haben wir gelernt, wie man Matplotlib in einem Flask-Webanwendungsserver verwendet. Wir haben eine Flask-Anwendung erstellt, eine Matplotlib-Figur generiert, die Figur in die HTML-Ausgabe eingebettet und die Flask-Anwendung mit dem flask-Befehlszeilentool ausgeführt.