romworld

Python 16 - FastAPI(프레임워크) 본문

Python

Python 16 - FastAPI(프레임워크)

inderrom 2023. 1. 4. 18:35

Python의 프레임워크

- Flask

- Django

- FastAPI -> 속도가 빠르다, 직관적임

 

 

1.FastAPI 설치

cmd (관리자 권한)에서 명령어를 입력한다

 

pip install fastapi

2.Uvicorn 설치

pip install uvicorn

 

3. main.py 만들기

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def root():
    return {"message": "Hello World"}


@app.get("/hello/{name}")
async def say_hello(name: str):
    return {"message": f"Hello {name}"}

4. 서버 실행 (cmd에서 실행시키는 방법)

uvicorn main:app --reload

- main : main.py 파일 (파이썬의 모듈)

- app :  the object created inside of main.py with the line app = FastAPI()

- --reload : 코드가 변경된 후 서버 재시작 (개발환경에서만 사용)

 

!!  cmd에서 서버를 실행시키는 경우 꼭 클래스가 저장되어있는 폴더 경로에서 cmd를 실행시켜줘야 한다.

 

** 실행

ip주소 : 8000 (포트번호) 를 크롬 주소창에 입력한다.

주소창에 입력 ip주소와 포트번호를 입력하면 정상적으로 출력된다.

 

4. 서버 실행 (이클립스에서 실행)

main.py에 main을 선언하고 uvicorn을 import한다

from fastapi import FastAPI
import uvicorn

app = FastAPI()

@app.get("/")
async def root():
    return {"message": "Hello World"}

# @app.get("/hello/{name}")
# async def say_hello(name: str):
#     return {"message": f"Hello {name}"}

if __name__ == '__main__':
    uvicorn.run(app, host="localhost", port=80)

 

uvicorn.run(app, host="localhost", port="80")

host 설정을 하고

서버에 맞는 포트번호를 설정한다.

 

 

==> 실행 ( 이클립스 안에서 run 해준다)

 

주소창에  host에 설정한 localhost를 입력한다.

 

 

 

 

Comments