Flask 어플리케이션 팩토리 적용

다 먼지같은 일입니다·2021년 5월 17일
0

어플리케이션 팩토리..?

가장 기초의 플라스크 앱을 만들었는데, 문제가 있단다.

app = Flask(__name__)

이렇게 app 객체를 전역으로 사용하면 순환참조오류가 발생할 위험이 높다네 흠..

순환참조오류는 두 모듈이 서로를 동시에 참조하는 경우를 말함
A -> B and B -> A

이걸 해결하기 위한 것이 어플리케이션 팩토리

사용하기

전역에 선언한 app을 create_app 함수 안으로 넣어보자

from flask import Flask

#app = Flask(__name__)
#@app.route('/')
#    def hello_pybo():
#        return 'Hello, Pybo!'

def create_app():
    app = Flask(__name__) # craete_app 안으로 

    @app.route('/')
    def hello_pybo():
        return 'Hello, Pybo!'

    return app

여기서 정의한 create_app을 어플리케이션 팩토리라고 함.
공장..? 어플이 만들어지는 곳이란 뜻으로 받아들이면 되나

create_app은 flask에서 정의한 함수이기에 다른 이름으로 변경하면 작동하지 않음 주의!

0개의 댓글