웹 애플리케이션 서버 Sgskip

Beginner

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

소개

이 튜토리얼 랩에서는 Flask 웹 애플리케이션 서버에서 Matplotlib 을 사용하는 방법을 안내합니다. .Figure 생성자를 사용하여 그림을 만들고, 이를 메모리 내 버퍼에 저장하고, 생성된 그림을 HTML 출력에 포함하고, flask 명령줄 도구를 사용하여 Flask 애플리케이션을 실행하는 방법을 배우게 됩니다.

VM 팁

VM 시작이 완료되면, 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 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

출력 보기

이 단계에서는 웹 브라우저에서 http://localhost:5000/로 이동하여 Flask 애플리케이션의 출력을 확인합니다. Matplotlib 그림이 페이지에 표시되어야 합니다.

요약

이 튜토리얼 랩에서는 Flask 웹 애플리케이션 서버에서 Matplotlib 을 사용하는 방법을 배웠습니다. Flask 애플리케이션을 생성하고, Matplotlib 그림을 생성하고, HTML 출력에 그림을 포함시키고, flask 명령줄 도구를 사용하여 Flask 애플리케이션을 실행했습니다.