본문 바로가기
  • 실행력이 모든걸 결정한다
Flask

[Flask] Flask는 무엇인가? + Flask 기초

by 김코더 김주역 2021. 2. 18.
반응형

1. Flask란?

Flask는 파이썬 기반 웹 프레임워크중 하나이다. 자바가 아닌 파이썬으로도 웹 서버를 만들 수 있다는 의미이다.

자바 기반 웹 프레임워크로는 대표적으로 Spring이 있듯이, 파이썬 기반 웹 프레임 워크로는 대표적으로 Flask, Django가 있는 것이다.

 

 

 

2. Flask는 언제 쓰이는가?

앞에서 언급했듯이, 파이썬 기반으로 웹 개발을 하고싶을 때 사용할 수 있다. 파이썬이 back-end쪽을 담당하고 HTML, CSS, JAVASCRIPT이 Front-end쪽을 담당하게 하는식으로 구현하여 웹 프로젝트를 수행할 수 있다.

 

이미지, 영상처리, AI 관련 프로그램을 개발하는데에는 파이썬이 많은 사랑을 받고 있는데, 파이썬으로 성능 좋고 빠른 훌륭한 라이브러리들을 많이 접할 수 있기 때문이다. Spring같은 다른 언어 기반의 웹 프레임워크로 주로 서비스를 하다가 특정 이미지나 영상은 파이썬 코드로 따로 처리하고자 하는 경우에 유용하게 쓰일 것이다. Spring 서버에서 Flask 서버로 파일을 전송하면 Flask 서버에서 해당 파일을 받아 파이썬 코드로 원하는대로 처리해주고, 다시 Spring 서버로 돌아오는 식으로 진행이 가능한 것이다.

단독 서버도 되고 다른 언어 기반의 서버와 연동도 가능하다니 훌륭하지 않은가?

 

 

 

3. MVC 패턴

Flask도 MVC 패턴을 따른다. 사실, 웬만한 Web Framework들은 모두 MVC 패턴을 따른다고 봐도 무방하다.

 

MVC는 각각 Model, View, Controller를 나타낸다.

사용자가 웹 애플리케이션을 이용하기 위해 URL 요청을 하면, 해당 요청은 Controller에 들어오게 된다.

Controller은 해당 요청을 담당하는 메소드로 안내하고, 요청에 포함된 정보를 가지고 Model에 접근할 수 있다.

Model은 데이터베이스같은 비즈니스 로직을 처리하는 일을 수행하고 Controller로 다시 돌아온다.

Controller의 처리가 끝났다면 그 결과를 사용자들이 화면을 통해 볼 수 있도록 View로 이동시켜준다.

 

 

 

4. Python 설치

Flask는 Python으로 작성되는 Framework이므로 반드시 Python을 설치해야 한다.

웬만하면 최신 버전을 설치하면 된다.

www.python.org/downloads/

 

Download Python

The official home of the Python Programming Language

www.python.org

 

"Add Python 3.9 to PATH"를 체크하면, 여러분이 직접 환경변수를 추가하지 않아도 자동으로 설정된다.

 

 

 

5. 기본 애플리케이션

파이썬 프로젝트 경로에서 Flask를 설치하기 위해 다음 명령어를 사용하면 된다.

pip install flask

 

Flask 설치를 완료했다면 간단한 소스코드로 웹 서버를 실행할 수 있다.

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

 

app이 Flask 애플리케이션이며, @app.route('/') 아래에 있는 메소드는 애플리케이션의 최상위 주소로 접속 했을 때 동작한다. 즉, http://localhost:5000/ 으로 접속하면 애플리케이션에서 hello_world() 메소드가 실행되어 웹 페이지에는 Hello World! 라는 문구가 찍혀 나오게 된다. 기본 포트 번호는 5000이며 따로 설정도 가능하다.

'__name__' 은 이 소스코드가 실행되는 파일명을 의미하며, '__main__'은 메인으로 실행되는 파일명을 의미한다.

직접 파이썬 명령어를 통해 실행된다면 해당 파일의 __name__은 '__main__'이 되는 것이다.

 

인터프리터에서 파이썬 명령어로 실행

py 파일명.py

 

즉 8~9번째 줄에 해당하는 내용은 직접 메인으로 실행될 경우에만 애플리케이션을 실행하라는 의미가 되는 것이다.

 

 

http://localhost:5000/ 접속

 

 

 

 

 

반응형

'Flask' 카테고리의 다른 글

[Flask] render_template로 html 페이지 반환  (0) 2021.02.22

댓글