[python] Flask에서의 블루프린트 사용법

웹 개발 프로젝트를 수행할 때, 애플리케이션을 모듈화하고 유지보수하기 쉽도록 구성하는 것이 중요합니다. Flask에서는 블루프린트(Blueprint)를 사용하여 애플리케이션을 별도의 모듈로 분리할 수 있습니다. 이를 통해 코드의 구조를 더 깔끔하게 유지할 수 있고, 여러 모듈 간의 협업이 용이해집니다. 이번 포스트에서는 Flask에서 블루프린트를 어떻게 사용하는지에 대해 알아보겠습니다.

블루프린트란?

Flask의 블루프린트는 뷰 함수, 템플릿, 정적 파일 등을 모듈화하고 관리하는 기능을 제공합니다. 애플리케이션을 구성하는 각 기능별로 블루프린트를 만들어 해당 기능을 담당하는 모듈로 분리할 수 있습니다.

Flask 애플리케이션에 블루프린트 등록하기

우선, 각 기능별로 블루프린트를 만들고 Flask 애플리케이션에 등록해야 합니다. 아래는 기본적인 블루프린트의 사용법입니다.

# app/views.py

from flask import Blueprint, render_template

bp = Blueprint('bp', __name__)

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

# app/__init__.py

from flask import Flask
from app.views import bp

app = Flask(__name__)
app.register_blueprint(bp)

위의 예시에서 views.py 파일에 블루프린트 객체를 생성하고, 해당 객체에 라우팅을 정의합니다. 그리고 __init__.py 파일에서 Flask 애플리케이션 객체를 생성한 뒤, app.register_blueprint(bp)를 사용하여 블루프린트를 등록합니다.

이제 각 기능에 해당하는 모듈을 생성하고 블루프린트를 등록하여 애플리케이션을 모듈화할 수 있습니다.

결론

블루프린트를 사용하면 Flask 애플리케이션을 모듈화하여 유지보수가 용이해지며, 여러 명의 개발자가 협업하기에도 좋은 구조를 갖출 수 있습니다. Flask 프로젝트에서는 블루프린트를 적극적으로 활용하여 코드를 체계적으로 관리하는 것이 좋습니다.

더 많은 정보는 Flask 공식 문서를 참고할 수 있습니다.