Skip to content
This repository has been archived by the owner on Nov 7, 2024. It is now read-only.

B.5. 플라스크 기초: 플라스크 리퀘스트 후크와 어플리케이션 컨텍스트

HOIWOONG JUNG edited this page Apr 1, 2021 · 5 revisions

플라스크 리퀘스트 후크와 어플리케이션 컨텍스트

소스버전

TODO

  • 맨 첫 리퀘스트 훅
  • 매 리퀘스트 전에 훅
  • 매 리퀘스트 후에 훅
  • 매 리퀘스트 종료시 훅
  • 매 컨텍스트 제거시 훅
  • g, current_app 사용해보기

리퀘스트 후크

리퀘스트가 발생하고, 리퀘스트 전 후등에 이벤트를 트리거링 하여 컨트롤 할 수 있다.

예시
  • 리퀘스트 전에 항상 유저 세션을 체크한다.
  • 리퀘스트 후에 항상 데이터베이스 세션을 닫는다.

애플리케이션 컨텍스트

자주 사용되는 앱 컨텍스트에는 gcurrent_app이 있습니다. 요청이 생성되고, 완료될 때 동일하게 생성 및 제거 됩니다.

g (=global)
from flask import g
g.data = 'data'
  • g 의 일반적 사용은 요청 중 자원 관리용도로 사용됩니다. (컨텍스트 내에서 전역)
  • 각각의 request 내에서만 값이 유효한 스레드 로컬 변수이므로 각 리퀘스트는 자원을 공유하지 않습니다.
current_app
from flask import current_app
current_app.config['DEBUG']
  • 활성화된 어플리케이션을 위한 인스턴스
  • 예를 들어, app인스턴스를 import하지 않고도, app의 config 정보를 조회할 수 있습니다. (앱과의연결고리?)
    • 이로써, 순환 참조 에러를 사전에 예방할 수 있습니다.

레퍼런스


Clone this wiki locally