개발/Python

블루프린트(Flask)

과녁스 2018. 9. 10. 13:23


플라스크에서 라우트는 app.route 데코레이터를 사용하여 쉽게 정의된다. 그러나 애플리케이션이 런타임에 생성되면

app.route 데코레이터는 app이 생성되고 난 뒤에야 존재할 수 있다.

블루프린트와 관련된 라우트는 블루프린트가 애플리케이션과 함께 등록될 때까지 휴면상태로 존재하고, 애플리케이션이 함께 등록되는

시점에서 라우트도 애플리케이션의 한 부분이 되어서 앞선 상황보다는 더 나은 해결책으로 사용할 수 있다.

from flask import Blueprint
  
main = Blueprint("main", __name__)
  
from import views, errors

Blueprint클래스의 생성자는 두 개의 인수를 필요로 한다

  • 이름
  • 블루프린트가 위치하게 될 모듈이나 패키지

 

원형 의존성을 피하기 위해서 모듈들을 애플리케이션의 초기화시에 Blueprint를 설정한다.