1. Flask란 무엇인가?
- 웹 사이트, API 서버를 만들 수 있는 Python Web Framework
- Micro Web Framework
- 가벼운 기능을 제공하여 가볍게 배우고 사용할 수 있음
- 자유도가 높으나 어플리케이션이 복잡해 질 경우 작업이 많아짐.
- Flask는 템플릿 엔진인 Jinja2와 WSGI(Web Server Gateway Interface) 툴킷인 Werkzeug라는 두 개의 외부 라이브러리에 의존함
2. jinja2란?
- Python에서 가장 많이 사용되는 템플릿 엔진 중에 하나
- template을 jinja2의 문법에 따라서 만들고 flask로 렌더링하면 훨씬 간단한 코드를 작성할 수 있음
3. Werkzeug란? (WSGI)
- WSGI(Web Server Gateway Interface)
- WSGI : Python 코드로 구성된 WAS가 웹 서버와 통신하는 표준 인터페이스
- 웹 서버는 Callable Object를 통해 HTTP Request에 대한 정보(Method, URL 등)와 Callback 함수 정보를 WAS에 전달함
- Werkzeug
- Werkzeug는 WSGI Middleware 기능을 가진 라이브러리
- WSGI Middleware는 웹 어플리케이션의 실행 전후에 라우팅, 세션, 쿠키 등의 기능을 추가해 줄 수 있음
- 자체적으로 웹 서버의 역할을 할 수도 있음
- Flask의 URL rule은 Werkzeug의 라우팅 모듈에 기반함
- Werkzeug는 WSGI 서버를 자체 내장하고있기 때문에 어플리케이션을 직접 실행할 수 있음
'Python' 카테고리의 다른 글
[Python] Python의 UnicodeDecodeError (0) | 2020.07.14 |
---|