-
플라스크는 기본적으로 제공해주는 기능들이 존재함
기본으로 제공해주는 기능들을 다룰려고 함
Global Object : g
from flask import g
플라스크라는 모듈에서 g라는 전역 변수를 받음
관련 내용은 다음과 같음
from flask import Flask,g app = Flask(__name__) app.debug = True # 이제부터 app.~~ 형식으로 필요한 부분을 하나씩 추가하면 됨 @app.before_request # request 요청을 처리하기전에 한번 어떠한 동작을 해달라고 하는 부분 # 즉 어떠한 요청이 들어오더라도 before_request는 무조건 한번 타게 됨 def before_requset(): print("before_request!!!") g.str = "한글" # 웹 애플리케이션은 context라는 것을 가짐 # 애플리케이션이 실행 될때는 어떠한 영역을 가짐 # 그중에는 애플리케이션 컨텍스트라는 영역과 비교되는 세션 컨텍스트라는 영역이 존재 # 세션 컨텍스트는 해당 웹 애플리케이션으로 들어오는 하나의! 브러우저로 부터 들어오는 요청을 뜻함 # 애플리케이션 컨텍스트는 해당 웹 애플리케이션으로 들어오는 모든 불특정 다수의 브라우저 요청을 뜻함 # 이중 g라는 것은 애플리케이션 컨텍스트의 영역임 # 애플리케이션 컨텍스트 = 모든 사용자가 공유 # 세션 컨텍스트 = 한명의 사용자만 공유 ( 로그인정보 ) @app.route("/") def helloworld(): return "hello world" + getattr(g, 'str', '111')
위와 같이 g라는 객체를 사용하면 불특정 다수의 모든 사용자들을 제어할 수 있음
g객체 사용 예시
- A라는 사람이 모든 사람이 보아야할 단톡방을 생성할 때 만약 A라는 사람과 단톡방에서 대화를 하려면 다른 사용자들은 A의 서버와 같은 곳에 접속을 해있어야함
- 이런 경우에 g객체를 사용해서 A 라는 사람이 있는 서버로 안내를 해준다면 모든 사용자는 A와 같은 서버로 들어 올 수 있음
- 즉 before_request로 g객체를 사용해서 "한글" 이라는 값을 주었다면
- 접속하는 모든 사용자는 before_request인 요청전에 애플리케이션 컨텍스트 영역으로 "한글" 이라는 값을 가지고 모든 요청이 처리가 됨
'web > flask' 카테고리의 다른 글
WSGI (0) 2019.11.19 웹 서버와 C.G.I (0) 2019.11.19 플라스크의 구동 방식 (0) 2019.11.18 플라스크 기본 설치 (0) 2019.11.18