Flask는 Python으로 구동되는 웹 어플리케이션 프레임워크이다. Django 프레임워크보다 가볍고, 스케일아 작은 서버부터 스케일 큰 서버를 만들 수가 있으며, JinjaWerkzeug를 포함하고 있다.

Flask 프레임워크: https://palletsprojects.com/p/flask/

우선 가상환경을 만들고, Flask를 설치한다.

Flask 설치

# Flask 설치
> pip install flask

# Flask 확인
> flask --version

Flask 어플리케이션 만들기

pyflask 폴더를 만들고, app.py 파일을 생성한다.

app.py

from flask import Flask
app = Flask(__name__)

@app.route('/')
def index():
    return 'Hello Flask'

@app.route('/info')
def info():
    return 'Info'

Flask 서버 구동 확인하기

CLI환경에서 pyflask 폴더에서 flask run 입력하고, Chrome에서 http://127.0.0.1:5000/으로 접속하면 된다. info 라우터를 확인하려면 http://127.0.0.1:5000/info/에 접속하면 확인 가능하다.

템플릿 추가하기

pyflask 폴더 내에 templates 폴더를 추가하고, index.htmlinfo.html 파일을 추가한다.

app.py에 템플릿 코드 추가

from flask import Flask, render_template
app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/info')
def info():
    return return render_template('info.html')

templates/index.html

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Flask Index</title>
</head>
<body>

<h1>Hello Flask</h1>
<p>This page is for Flask tutorial.</p>

</body>
</html>

templates/info.html

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Flask Info</title>
</head>
<body>

<p>This page is Info page.</p>

</body>
</html>

추가된 페이지 확인

app.pyrouter를 통해 http://127.0.0.1:5000/http://127.0.0.1:5000/info/에 접속하면 index.htmlinfo.html를 확인할 수 있다.