본문 바로가기

BackEnd/Python-Flask

[백엔드] Flask의 개념 및 Restful API 이용

반응형

서버개발은 visual studio code로 한다. 

 

파이썬이 최신이라고 해서 다 좋은 게 아니다. 파이썬이 최신이라도, 사용하고 있는 라이브러리가 최신버전의 파이썬이 지워버리면 의미가 없다. AWS의 Lambda라는 서비스하는 곳에 배포를 할건데, 파이썬이 3.8 버전일때 가장 안정적이다. 

 

그리하여, 파이썬 가상환경을 만들어서 작업을 할 것이다.

conda -n flask3.8 python=3.8

 

가상환경에 진입해준다. 

 

Flask란

- 간단한 웹사이트, 혹은 간단한  API서버를 만드는데 특화 되어있는 Python Web Framework 이다.

- Flask는 가벼우면서도 파워풀하다. 기능은 많이 없지만, 생산성은 좋다.

ㄴ 가볍게 배울수 있고, 가볍게 사용할 수 있고, 가볍게 배포할 수 있다.

- 다양한 Extension을 지원한다. (우리가 당분간 다룰 API는 Restul API이다.)

- 가장 큰 장점은 간단한 서버를 운영하는 데 .py 파일 단 한개면 충분하다. 

 

Flask 공식링크

https://flask.palletsprojects.com/en/2.0.x/

 

Flask 이용: Restful API 이용

 

vscode command prompt터미널에서 플라스크를 설치한다. 

pip install flask flask-restful

ㄴ flask와 flask-restful 을 설치해준다. 

ㄴ 여러 라이브러리를 설치하고 싶으면 중간에 띄어쓰기 하나만 하면 된다. 

ㄴ 라이브러리 설치가 끝난 후에, 파일을 저장하고, vscode를 다시 열어준다.

 

 

from flask import Flask

app=Flask(__name__)

@app.route('/', methods = ['GET'])
def hello_world():
    return 'Hello World hihi'

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

# '/': 최상위 경로라는 뜻,

# 이 경로로 요청이 오면, 서버(나)는 Hello World라고 응답할거다.

# 실행을 하면 우리 로컬에서 실행되는 것

 

Flask 기본 표현 틀이다. 

기본틀 사이에서 코드를 작성하고, 작업한다.

 

App = Flask(__name__):

ㄴ Flask  생성

ㄴ 웹 애플리케이션이기 때문에 app이라고 쓴다

 

저장하고, vscode command prompt 터미널에서 하기 코드를 입력하고 엔터를 치면

python app.py

 

- 정상 작동 될경우에,터미널에서는 상기이미지 처럼 표시가 된다.

- Lazy loading : 처음부터 모든걸 다 끌어안고 다 올리진 않겠다. (Lazy : (IT 공용 뜻) 천천히 올리겠다.)

- Envirionment은 기본적으로 두가지 버전이 있다. Develope은 개발중인거고, product는 실제 서비스 하는 버전. 그리고 product모드는 디폴트임.

ㄴ Production 모드는 실제 서비스하는 버전이기 때문에 debug mode는 off이다.

-  Warning은: 개발은 서비스 환경에서 하지 말라는 뜻이다. 

- Use a production WSGI server instead.

ㄴ WSGI: web service gateway interface  -> 누가 오나 안오나 계속 보고 있는 것.

ㄴ Web서버 = Flask 서버,

ㄴ Gateway: 어떤 코드를 붙들고 있는 것을 게이트 웨이라고 함.

ㄴ Interface: 대면

- Running on 이 서버에 이렇게 이렇게 떳다.

 

- 노란색 박스로 표시된 URL 주소가 로컬 주소이다. (하기 주소 중 하나처럼 나타날 때도 있다.)

- 웹브라우저에 하기 세가지 주소 중에 하나만 실행해서, Hello World hihi라고 나오면 정상작동 하는 것을 볼 수 있다. (다 같은 뜻이다)

- 원래 URL 주소 뒤에 /(슬래시)가 있는 데, 생략 가능하다.

- Flask가 기본적으로 제공하는 포트가 5000.

- Ctrl + C는 서버를 종료시킨다는 뜻이다.

- 상기 코드는 서버가 실시간으로 업데이트가 안되어서, 서버 종료 후에 다시 실행시켜야한다

 

127.0.0.1:5000
0.0.0.0.:5000
Localhost:5000

 

정상 작동한다! 

 

------

다음 포스트에서는 @app.route()의 의미 및 HTTP Methods를 설명한다.

반응형