반응형
[점프 투 플라스크]를 참고해서 작성한 글입니다.
https://wikidocs.net/81510
이번 포스팅은 views 디렉토리에 대해 알아보겠습니다.
1. 블루프린트?
블루프린트(blueprint)는 Flask에서 URL과 함수의 매핑을 관리하기 위해 사용하는 도구입니다.
블루프린트 이용하면 라우팅 함수를 체계적으로 관리할 수 있습니다.
2. 블루프린트 생성
현재 작업 상태부터 확인해볼까요.
이 상태에서 pybo 디렉토리 안에 views 디렉토리를 만들고 main_views.py 파일을 만듭니다.
main_views.py 에는 '/hello'와 '/'경로에 대한 매핑 코드를 작성해봅시다.
# c:\myproject\shop\pybo\views\main_views.py
from flask import Blueprint
bp = Blueprint('main', __name__, url_prefix='/')
@bp.route('/hello')
def hello_pybo():
return 'Hello, Pybo!'
@bp.route('/')
def index():
return 'Pybo index'
2. 블루프린트 등록
생성한 블루프린트를 사용하기 위해서는 __init__.py 파일에 등록을 해줘야 합니다.
__init__.py 파일을 수정해봅시다.
# c:\myproject\shop\pybo\__init__.py
from flask import Flask
def create_app():
app = Flask(__name__)
# 블루프린트
from .views import main_views
app.register_blueprint(main_views.bp)
return app
flask run을 해서 결과를 확인합니다.
이렇게 views 디렉토리를 따로 만들어서 main_views.py 파일에 라우팅 함수를 관리해주면
__init__.py 파일의 create_app 함수 안에 라우팅 함수를 조잡하게 추가할 필요가 없게 됩니다.
반응형
'window 환경에서 개발하기 > Flask' 카테고리의 다른 글
Flask에 MySQL 데이터 연동 ① DB 연동 순서(pymysql) (2) | 2023.04.27 |
---|---|
Flask 개발 기초 ② 애플리케이션 팩토리(application factory) (0) | 2023.04.27 |
Flask 개발 기초 ① 개발 환경 구축, flask 설치(+가상 환경 배치 파일 만드는 방법) (0) | 2023.04.26 |