본문 바로가기

Python/Flask

Flask Application Context 애플리케이션 컨텍스트는 요청, CLI 명령 중 애플리케이션 레벨 데이터를 추적한다. 각 함수에 애플리케이션을 전달하는 대신 current_app, g 프록시가 대신 접근된다. 요청 중 요청 레벨 데이터를 추적하는 요청 컨텍스트와 유사하다. 요청 컨텍스트가 푸시되면 같은 애플리케이션 컨텍스트가 푸시된다. 컨텍스트의 목적 플라스크 애플리케이션 객체는 뷰, CLI 명령 내에서 접근하기 유용한 config라는 속성을 갖는다. 그러나 프로젝트 모듈 내에 app 인스턴스를 임포트하는 것은 순환 참조 문제가 발생하기 쉽다. 앱 팩토리 패턴을 사용하거나, 재사용 가능한 blueprint, 확장 프로그램을 작성할 때 앱 인스턴스를 임포트할 필요가 없다. 플라스크는 이 문제를 애플리케이션 컨텍스트로 해결했다. app을 바..
플라스크 서버 동작 원리 from flask import Flask # Flask 모듈을 import하고 Flask 웹 서버를 생성한다. app = Flask(__name__) # __name__은 현재 파일을 의미함. main.py가 된다. app이라고 하는 Flask 인스턴스를 생성한다. 새로운 웹 앱이 생성된다. @app.route("/") # default 페이지 def home(): # 사용자가 default 페이지로 접속하면 home()이 실행됨. return "Hello, World!" if __name__ == "__main__": # 파이썬 스크립트가 실행될 때 파이썬은 __main__을 스크립트에 할당한다. app.run(debug=True) # 앱 실행 FLASK_APP=main.py flask run fla..