Application Factory: 함수 안에서 어플리케이션을 설정하는 방법
- 플라스크에서는 app을 구동하기 위해 application factory를 사용하길 권장한다.
- 함수 이름은 create_app으로 설정한다.
- Blueprint, config, database 등 앱을 구동할때 모든 설정들은 create_app내에 모아 관리한다
- application factory를 사용한것과 사용하지 않은것을 비교한다면, 가장 기본적인 코드만 치더라도 훨씬 보기 좋다.
#application factory를 사용하지 않을 경우
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'hello'
if __name__ == "__main__":
return app.run(host=localhost, port:8080, debug=True)
#application factory를 사용할 경우
from flask import Flask
def create_app():
app = Flask(__name__)
@app.route('/')
def index():
return 'hello'
return app
- application factory를 사용하지 않으면 스크립트 자체를 run시켜서 flask 서버를 구동할 수 있다.
- 하지만 application factory를 사용할 경우는 터미널에서 구동시켜야 한다.
- 아래 순서대로 진행하면 된다.(create_app이 들어있는 파일을 app.py로 지정하면 set FLASK_APP은 안해도 됨)
#내 어플리케이션 플라스크에 등록(파일명이 app.py라면 지정 안해도 됨)
set FLASK_APP=<파일명>
# 디버그모드 설정
set Flask_DEBUG=true
#플라스크 서버 실행
flask run