FastapI를 사용하여 웹 응용 프로그램 만들기:ver1

FastapI를 사용하여 웹 응용 프로그램 만들기:ver1


FastapI를 사용하기 때문에 가져올 때 직접 사용하는 노트입니다.
마지막으로 나는 게시판 앱을 만들어 보고 싶다.
이번에는FastapI의 공식 문서[1]를 기본적으로 참고했다.

FastapI 정보


어쨌든 이름과 마찬가지로 빠른게 특징이죠.반응 측면과 인코딩 측면에서 속도를 중시하는 구조라고 할 수 있다.
FastapI는 빠른 응답을 위한 WebAPI[2]를 구축하는 데 뛰어나다.
또한 공식 문서에서 빠른 인코딩: 개발 속도를 약 200%~30%[1:1] 높인다.아주 매력적인 프레임이에요.

컨디션

  • Python 3.6
  • macOS Big Sur ver 11.1
  • 설치 방법


    terminal
    $ pip3 install fastapi
    
    이번에 uvicorn을 사용한 김에 uvicorn은 "Uvicorn is a lightning-fast ASGI server implementation, using uploop and httptools"입니다.[1:2] 어떤 일 때문에 유니콘(독각수)을 모방해서 uvloop의 uv를 사용했나.
    ※ 이 근방의 유래는 조금이라도 징징거려도 나오지 않는 것이다..아는 사람 있으면 알려주세요.
    참고로 ASGI는 웹 서버 Gateway Interface의 약칭으로 웹 서버와 웹 애플리케이션을 연결하기 위한 표준화된 인터페이스의 정의이다.[3]
    terminal
    $ pip3 install uvicorn
    

    Hello World !보기


    클래식한 Hello World!아이콘
    우선, 좋아하는 편집 중main.py를 생성합니다.
    main.py
    from fastapi import FastAPI
    from fastapi.responses import HTMLResponse
    
    app = FastAPI()
    
    @app.get("/",response_class=HTMLResponse)
    def read_root():
        return """
            <html>
                <head>
                    <title>tutorial</title>
                </head>
                <body>
                    <h1>Hello World !</h1>
                </body>
            </html>
            """
    
    먼저 fastapi 라이브러리에서 FastapI를 가져옵니다.
    그리고 HTML로 거리를 측정하고 싶어서fastapi입니다.ressposes 라이브러리에서 HTML Respose를 가져옵니다.
    루트의 작성은 매우 간단합니다. @app는 방법 체인을 통해 get 요청을 받아들이는 실례를 생성하고 경로가 루트 요청을 받아들이는 것을 기술합니다.
    바로 아래의 하위 루틴에 처리를 기록합니다.이번에는대화 상자.

    실행


    terminal
    $ uvicorn main:app --reload
    
    이 --reload는 파일 업데이트 등을 할 때도 다시 읽어야 하는 인자를 명시하기 위해서입니다.
    다음은실행상황↓


    지금까지 Hello World였습니다!완성
    다음에도 get 요청 이외의 요청을 써 보세요.
    각주
    FastAPI https://fastapi.tiangolo.com/ja/ ↩︎ ↩︎ ↩︎
    【제1회】FastapI 강좌: ToDo 응용【환경구축편】https://rightcode.co.jp/blog/information-technology/fastapi-tutorial-todo-apps-environment↩︎ 제작 시도
    Web Server Gateway Interface https://ja.wikipedia.org/wiki/Web_Server_Gateway_Interface ↩︎

    좋은 웹페이지 즐겨찾기