Flask 는 두 개의 외부 라이브러리인 Jinja2 템플릿 엔진과 Werkzeug WSGI 툴킷을 사용한다.
jinja2
특정 문법을 사용하여 해당 문서들의 필요한 부분을 웹 브라우저가 인식할 수 있는 html 로 변환시켜주는 역할을 수행한다. (즉 Data + Template = HTML) 그밖에도 샌드박스 실행 및 선택적 오토 이스케이프를 추가하므로 보안성도 높이게 됩니다.
플라스크에선 render_template() 함수를 사용하여 진자2의 문법을 사용하여 html을 작성해준 파일을 넘겨주는 형식으로 사용한다.
https://jinja.palletsprojects.com/en/3.1.x/
Werkzeug
WSGI 툴킷으로, Web Server Gateway Interface를 의미한다. 웹 서버와 웹 어플리케이션을 연결할 때 지켜야하는 규약이므로 웹 개발 시 해당 절차를 따라 설계해주게끔 되어 있다. Werkzeug 는 이런 WSGI 규약을 지켜서 설계할 수 있게 도와주는 도구를 의미한다. 플라스크에서 request 와 response 같은 명령은 해당 라이브러리에서 이루어지게 된다.
https://werkzeug.palletsprojects.com/en/3.0.x/
간단하게 아래의 스택플로 글을 보면, 플라스크 개발 서버가 Werkzeug 서버와 같다는 것을 알 수 있다. 자세한 사항은 직접 보는 것이 좋을 듯 싶다.
https://stackoverflow.com/questions/37004983/what-exactly-is-werkzeug
'Python > Flask' 카테고리의 다른 글
Flask + PostgreSQL + React - 2 (1) | 2024.03.06 |
---|---|
Flask + PostgreSQL + React - 1 (0) | 2024.03.05 |
flask 웹개발 기초 정리 - 3 (feat. SQLAlchemy) (1) | 2024.02.28 |
flask 웹개발 기초 정리 - 2 (feat. SQLAlchemy) (1) | 2024.02.27 |
flask 웹개발 기초 정리 - 1 (0) | 2024.02.26 |