본문 바로가기
프로그래밍 관련/파이썬

flask(플라스크) 프레임워크에 대하여(기본개념)

by 존버매니아.임베디드 개발자 2021. 4. 26.
반응형

플라스크의 가장 기본적인 기능은,
나의 컴퓨터가 다른 컴퓨터의 요청을 받았을때, 그 요청을 인지하고 응답하는 것이다.

예를 들어 현재 내컴퓨터의 ip 주소가 100.100.100.100 이라고 하자.

이때, 인터넷에 연결된 누군가가 자신의 웹브라우저(ex.인터넷익스플로러, 파이어폭스 등) 에서 주소창에 나의 ip 주소(100.100.100.100)를 적고 enter키를 쳤을때.

이것은 다른 컴퓨터가 나에게 무언가 신호를 날리는 것이다.

이때 내 컴퓨터에 플라스크 같은 프레임워크가 실행되고 있지 않다면, 해당 요청은 무시될 것이고 내 컴퓨터는 상대방에게 아무런 응답을 하지 않을 것이다.
또한 내 입장에서는 애초에 그런 요청이 왔다는 사실을 알 수도 없다.

그런데 만약 내 컴퓨터에 플라스크를 실행시킨 상태에서 그러한 요청이 오면, 플라스크가 그 요
청을 인식해서 무언가 응답을 할 수 있다.

이때, 어떤 요청이 오면 어떤 응답을 하겠다고 내가 프로그래밍을 해둘 수 있다.
플라스크는 파이썬 기반의 프레임 워크이므로 파이썬으로 간단한 코드를 작성하면 우리 컴퓨터는 서버로 동작할 수 있다.

코드가 마치 c언어의 switch case 혹은 if else 같은 형태로 구성되는데 예시를 보면 쉽게 이해가능하다.

가장 간단한 형태의 플라스크 코드는 아래와 같은 구성을 가진다.

 

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "500"

@app.route("/page1")
def Test1():
    return "안녕하세요"

@app.route("/page2")
def Test1():
    return "page2"

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

위 코드를 해석해보자.
( 이런 저런 내용이 있지만 대강 느낌만 살펴보자.)

( 해당 코드를 실행하는 서버 컴퓨터의 IP 주소는 100.100.100.100 이라고 가정하자)


누군가가 웹브라우저에 100.100.100.100 을 입력했을때, 상대방 화면에 숫자 500 을 출력해서 보여준다.


누군가가 웹 브라우저에 100.100.100.100/page1
을 입력했을때,
안녕하세요 라는 글자를 출력해서 보여준다.

누군가가 웹 브라우저에 100.100.100.100/page2
를 입력했을때,
page2 라는 글자를 출력해서 보여준다.

위 그림과 같은 코드를 작성하고 플라스크를 실행하면, 우리의 컴퓨터는 간단한 기능일 뿐이지만 '서버'로 동작하게 된다.

반응형