[FastAPI] form

JeongChaeJin·2022년 7월 31일
0

Setting

  • 일단 대충 코드펜이과 같은 프론트엔드 사이트에서 로그인 화면 HTML을 가져오자.

main

from fastapi import FastAPI, Form
from fastapi.staticfiles import StaticFiles


app = FastAPI()
app.mount("/static", StaticFiles(directory="static"), name="static")


@app.post("/login")
def login(username: str = Form(...), password: str = Form(...)):
    return {"username": username}
  • StaticFiles를 통해 해당 static 디렉토리의 경로를 주고, directory 이름을 지정해준다.
  • mount의 첫번째 인자를 통해 endpoint를 지정해준다. name은 그냥 static
  • username, password Query 변수들은 Form 형태의 필수 매개변수가 된다.
    • Form을 쓰면 Json 형식이아니라 header가 포함된 살짝 개같은 모습으로 넘어오는데, 나중에 배워보기로한다.
    • 파일을 받는 경우 Form 형태로 받기 때문에 일단 이런게 있구나하고 넘어가면 될 듯하다.
uvicorn main:app --host 0.0.0.0 --port 8000 --reload
  • 실행 후 docs로 출력이 어떤게 오는지 테스트해보면 된다.
profile
OnePunchLotto

0개의 댓글