본문 바로가기
FrameWork/Flask

Application Factory

by mansoorrr 2024. 4. 17.

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

 

 

 

'FrameWork > Flask' 카테고리의 다른 글

초기 세팅  (0) 2024.04.17
Flask 기본  (0) 2024.03.25