파이썬에는 여러가지 웹프레임워크이 있다. 그 중에서 가장 유명한 것은 django다. 하지만 간단하게 파이썬으로 돌아가는 웹페이지를 만들어보고 싶을 때 djangos는 해야 되는 일이 많다. 그보다 쉽고 빠르게 할 수 있는 웹프레임워크을 찾다가 플라스크(flask)를 찾게 되었다. 플라스크는 장고와 함께 파이썬 개발자들이 뽑은 가장 많이 쓴 웹프레임워크이다.

 

파이썬 플라스크(flask)

 

플라스크는 마이크로 웹프레임워크이다. 튜토리얼에 보면 마이크로는 기능이 부족하거나 파일 하나만 만들 수 있다는 애기는 아니다. 코어는 심플하게 유지하고 확장가능하게 만들었다는 뜻이라고 한다. 그리고 Flask는 우리가 많은 결정을 하지 않도록 템플릿 엔진을 제공하고 쉽게 바꿀 수 있다고 한다. 요즘에는 fastapi도 많이 사용하는 것 같은데, 필자는 플라스크가 가장 직관적이 사용하기 쉬운 것 같다.

 

필자가 Flask를 매력적으로 느낀 이유는 이해하기 쉬운 구조 때문이다. Flask는 아래와 같은 구조로 되어 있다.

그림은 못 그렸지만, 그림이 중요한 건 아니다 ㅎ

 

 

간단히 부연설명을 해보자. 사용자가 url로 접속하면 route를 통해 접속한 url에 맞는 함수를 호출해준다. 그리고 함수의 결과가 템플릿을 통해 html로 사용자에게 보여진다.

 

아래의 코드를 보면 좀 더 쉽게 이해할 수 있다.

  # coding = utf-8

  from flask import Flask


  app = Flask(__name__)

  @app.route("/")
  def hello():
      return "Hello World!"

  @app.route("/hello/")
  def hello_flask():
      return "Hello Flask!"

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

 

먼저 Flask클래스를 import한다. 다음에 Flask클래스의 객체를 만든다. 첫번째 파라미터는 어플리케이션의 모듈이나 패키지명이 들어간다. 하나의 모듈을 사용한다면, '__name__'을 이용하면 된다고 한다. 다음에 route 데코레이터를 사용해서 url을 지정한다. '/'은 메인을 의미한다. 다음에 return 값으로 "Hello World"를 입력했다.

 

이제 위의 코드를 실행하면, "Hello World"라는 메시지를 볼 수 있다. 코드를 실행하는 방법은 아래와 같다.

  export FLASK_APP=1_hello_world.py
  flask run

 

원도우를 이용한다면 아래와 같이 하면 된다.

  set FLASK_APP=hello.py
  flask run

 

플라스크를 실행하면 아래와 같이 로컬호스트에 서버를 띄운 것을 볼 수 있다.

플라스크 로컬호스트 실행결과

 

이제 해당 주소로 접속하면 아래와 같이 Hello World를 볼 수 있다.

웹페이지 실행결과

 

 

플라스크의 구조를 이해하기 위의 위의 주소에 /hello/라고 입력하면, 위의 route에서 지정한대로 "Hello Flask!"가 출력되는 것을 알 수 있다.

 


오늘은 이렇게 파이썬 플라스크로 간단한 웹페이지를 만들어 보았다. 플라스크는 이해하기 쉽고 간단하여, 초기에 빠른 웹페이지 제작이 가능하다. 앞으로 더 친해지면 좋을 듯 하다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기

댓글을 달아 주세요

">