파이썬(Python)/Flask

[Python] Flask란? (WSGI, Werkzeug, Jinja2, Web framework)

끄적끄적아무거나 2021. 11. 11. 08:17
반응형

 

목차

     

     

     

     

    플라스크란? (What is Flask?)

     

    Flask란 파이썬에서 사용 가능한 웹 어플리케이션 프레임워크(Web Application Framework)입니다. Pocco라는 파이선개발자 그룹의 Armin Ronacher에 의해 개발되었습니다. Flask는 Werkzeug WSGI 과 Jinja2 엔진에 의해 동작합니다. 

     

    가자 많이 사용하는 경우는 웹서버를 동작시킬 때 Backend를 동작시키는 엔진으로 생각하시면 됩니다. 파이썬에서 Flask를 사용해서 Backend 개발을 할 수 있습니다.

     

     

     

    웹 어플리케이션 프레임워크(Web Application Framework) 란?

     

    웹 어플리케이션 프레임워크(Web Application Framework)은 웹 엔진을 설계할 때 필요한 라이브러리를 모아놓은 도구라고 생각하시면 됩니다. 웹 개발자는 Web Application Framework을 사용하게 되면 하위레벨의 설계를 하지 않고 이미 기능을 구현한 라이브러리(Library)를 가져와서 간단하게 상위레벨에서 제작이 가능합니다.

     

     

    WSGI(Web Server Gateway Interface) 란?

    웹 서버와 웹 어플리케이션을 연결할 때 지켜야 하는 규약으로 생각하시면 됩니다. 웹을 개발할때 반드시 따라야 하는 절차들이 있는데 그 중 하나가 WSGI이고 Python으로 개발되는 모든 웹 어플리케이션은 WSGI를 따라서 설계 합니다.

     

     

    Werkzeug(벨저크) 이란?

     

    앞서 WSGI는 interface를 설계할 때 필요한 규약이라고 했습니다. 이 규약을 지켜서 설계하게 도와주는 도구가 Werkzeug입니다. 예를 들어 request, response와 같은 명령 실행은 Werkzeug에 의해 이루어 집니다. 

     

     

     

    Jinja2 란?

     

    Jinja2는 파이썬에서 동작하는 templating 엔진입니다. 특정 데이터와 template를 연결해서 flask에서 구현이 어려운 동적인 움직임을 지원 합니다. 혹시 flask를 사용해 본적이 있으면 html 문서에 {% %} 와 같이 별도의 구문을 볼 수 있습니다. 이 부분이 Jinja2로 python에서 작성한 명령을 html에 연결해서 사용하는 것입니다. 

     

     

    반응형