728x90
반응형
Blueprint는 Flask 애플리케이션의 라우트와 관련된 기능을 모듈화하고 조직화하는 데 사용된다.
아래는 Flask 앱과 라우터를 분리하여 구축하는 예시 코드입니다.
app.py
from flask import Flask
from routers import api_blueprint
app = Flask(__name__)
app.register_blueprint(api_blueprint)
if __name__ == '__main__':
app.run()
routers.py
from flask import Blueprint
api_blueprint = Blueprint('api', __name__)
@api_blueprint.route('/')
def index():
return 'Hello, World!'
@api_blueprint.route('/users')
def get_users():
# 사용자 목록 조회 로직 구현
# ...
@api_blueprint.route('/users/<int:user_id>')
def get_user(user_id):
# 특정 사용자 조회 로직 구현
# ...
# 더 많은 라우트 및 로직 추가 가능
* app.py 파일에서는 Flask 앱을 생성하고 api_blueprint을 등록한다.
* routers.py 파일에서는 api_blueprint을 생성하고 해당 Blueprint에 라우트 함수들을 정의한다.
* 이렇게 분리된 라우터 파일을 앱에서 import하여 사용할 수 있다.
Blueprint란?
Blueprint는 Flask 애플리케이션의 라우트와 관련된 기능을 모듈화하고 조직화하기 위해 사용되는 객체.
위 코드에서 `api_blueprint`는 Blueprint 객체를 생성한 것으로, `Blueprint('api', __name__)` 형태로 생성된다.
첫 번째 인자인 `'api'`는 Blueprint의 이름을 나타내며, 두 번째 인자인 `__name__`은 모듈의 이름을 전달한다.
모듈의 이름을 전달하여 Blueprint가 현재 모듈을 기준으로 동작할 수 있도록 한다.
Blueprint 객체에는 `.route()` 메서드를 사용하여 라우트를 정의할 수 있다.
728x90
반응형
'공부기록 > 파이썬' 카테고리의 다른 글
[Flask] MongoDB에서 TypeError 문제(_id) (0) | 2023.07.04 |
---|---|
[Flask] 직렬화 오류 (0) | 2023.07.03 |
[Python + Flask + MongoDB] REST API 구축하기 (0) | 2023.07.03 |
Python 기반 웹 프레임워크 Flask와 Django 비교 (0) | 2023.07.02 |
Selenium + MongoDB 크롤링한 데이터 저장하기 (0) | 2023.07.01 |