2017. 10. 9.

[Python] Flask 시작하기

들어가기

웹 서버에 대한 궁금증이 생겨서 직접 웹 애플리케이션 프레임워크를 사용하여 간단한 웹 사이트를 만들어 보면서 공부를 해볼 생각입니다. 평소 Python에 대한 관심도 있었기 때문에 Python Flask를 선택하였습니다. 먼저 다양한 튜토리얼을 참고하여 Flask와 웹 애플리케이션 프레임워크의 기능을 알아본 다음, 그 지식을 바탕으로 Bootstrap과 함께 사용하여 웹 사이트를 만드는 것이 최종 목표입니다. 상당히 긴 연재가 될 것으로 예상됩니다.

Flask에 대한 간단한 소개

Flask는 Python으로 만들어진 웹 애플리케이션 프레임워크입니다. Pocco라고 이름 붙여진 열정적인 Python 사용자들의 국제적 집단을 이끄는 Armin Ronacher라는 사람이 개발하였습니다. Flask는 Werkzeug WSGI toolkit과 Jinja2 템플릿 엔진을 바탕으로 하고 있습니다. 둘 모두 Pocco 프로젝트입니다.


이 튜토리얼은 Python의 기본 지식을 가지고 있으며 웹사이트를 만들고자 하는 사람을 대상으로 합니다. 이 튜토리얼 완료한 후, 여러분은 Flask를 사용해서 웹사이트를 개발하는 중간 수준의 기술에 도달할 것입니다.


이 튜토리얼은 여러분이 HTML과 Python을 직접 사용해본 경험이 있다고 가정하여 진행됩니다. 만약 HTML과 Python을 다뤄본 적이 없다면 먼저 이 두 가지에 대한 간단한 튜토리얼을 먼저 해보길 바랍니다.

Flask 개요

웹 프레임워크(Web Framework)가 무엇인가요?

웹 애플리케이션 프레임워크 혹은 단순하게 웹 프레임워크는 웹 애플리케이션 개발자가 프로토콜(protocol), 쓰레드(thread) 관리 등과 같은 로우레벨(low-level) 세부사항에 대해서 신경쓰지않고 애플리케이션을 만들 수 있게 해주는 라이브러리와 모듈의 모음을 말합니다.

Flask가 무엇인가요?

Flask는 Python
으로 만들어진 웹 애플리케이션 프레임워크입니다. 개발한 사람은 Armin Ronacher입니다. Armin Ronacher는 Pocco라는 국제적 Python 사용자 모임을 이끌고 있습니다.  Flask는 Werkzeug WSGI toolkit과 Jinja2 템플릿 엔진을 바탕으로 하고 있습니다. 둘 모두 Pocco 프로젝트입니다.

WSGI

Web Server Gateway Interface(WSGI)는 Python 웹 애플리케이션 개발에 있어서 표준으로 채택되었습니다. WSGI는 웹 서버와 웹 애플리케이션 사이의 보편적인 인터페이스입니다.

Werkzeug

WSGI는 요청(request), 응답(response) object 그리고 다른 유틸리티 함수를 구현한 toolkit입니다. 웹 프레임워크를 WSGI 최상단에 구축할 수 있게 해줍니다. Flask 프레임워크는 Werkzeug를 바탕 중 하나로 사용합니다.

jinja2

jinja2는 Python의 인기있는 templating 엔진입니다. 웹 templating 시스템은 동적인 웹 페이지를 그리기 위해서 특정 데이터 소스를 템플릿과 결합합니다.

Flask는 종종 micro 프레임워크라고 불립니다. Flask는 애플리케이션의 핵심을 단순하지만 확장가능하게 유지하는 것이 지향합니다. Flask는 데이터베이스를 다루는 built-in 추상 레이어와 validation 지원 form을 가지고 있지 않습니다. 대신에, Flask는 애플리케이션에 함수성을 추가할 수 있도록하는 extension을 지원합니다. 몇몇 인기있는 Python extension은 나중에 다룰 예정입니다.

다음 다룰 내용은 무엇인가요?

Flask 개발 환경 설정과 설치에 대해서 알아볼 예정입니다. 윈도우 사용자는 Bash도 함께 설치할 것입니다.

댓글 없음:

댓글 쓰기