안녕하세요
요즘 개인 프로젝트로 FASTAPI 재진행하고 있는데 아파서 쉬다 돌아왔습니다
여튼 거두절미하고 바로 진행하죠
이건 FASTAPI 이용할 때 주로 쓰는 여러 코드인데 쓸모없는게 몇게 섞여있지만 이거 한번 쳐두면
HTML 바로 전송하는 거 처리는 간단해집니다
from fastapi import APIRouter ( 이런거 요즘 안 씁니다 ( 구버전 문법 ))
FASTAPI 공식 문서에 따르면 JINJA2 라는 패키지에다 TEMPLATES 폴더 안에 데이터를 넣어서 전송하는데
그냥 Flask 안에 있는 templates 와 같은거에요
pip install jinja2
이거 터미널에 쳐서 jinja2 추가해주세요
그 다음에는 더 간단합니다
templates 폴더 생성해주세요 ( 이름 바꾸면 아래 명령에 있는 DIRECTORY 값 바꾸세요
저는 static 이 같이 있지만 얘는 다른 기능 하는 거라 상관 없습니다 ( 웹스토리지 같은 용 )
만들래서 만들었더니 쓸모 없;;
이거 한줄 넣어서 index.html 넣어두세요
이게 templates 는 jinja2 템플릿에 있는 거고 디렉토리를 현재 작업 폴더에 있는 templates 폴더로 한다는 뜻)
이거는 아까 선언한 app에 get 요청으로 / 주소에 오면 async로
templates 폴더 안에 있는 index.html 을 보낸다 이런 뜻으로 이거 넣고
( 아 저는 app.py가 파이썬 이름이라서 app:app 입니다 )
uvicorn app:app --reload 하면 서버 띄워줍니다
서버 완성 ★
마지막 전문 ( 그냥 이거 복붙하세요 )
# html fastapi 전송방법
templates = Jinja2Templates(directory="templates")
app = FastAPI(docs_url="/documentation", redoc_url=None)