우리는fastAPI로Django 강좌를 만들고 반응하고 있다.fastAPI 프로젝트를 설정하자!

Fast API는 개발자들이 건장하고 성능이 좋은 API를 신속하게 구축할 수 있도록 하는 훌륭한 현대 파이톤 프레임워크다.
일단 네가 요령을 터득하면, 너는 새로운 단점을 구축하고 실현할 수 있다
복잡한 업무 논리.그러나 Django라는 보다 관점적인 틀에서 비롯되었을 때 처음에는 안정을 파괴할 수 있다
더 많은 기존 기능을 제공합니다.
그래서 나는 그것이 매우 재미있을 것이라고 생각한다. (게다가 매우 재미있다.)Django 튜토리얼에서 유명한 여론조사 앱을 새로 만들었지만 이번에는Fast API를 사용했다
그리고 리액션!여러 부분으로 구성된 이 시리즈에서 나는 가능한 한 원작과 같은 경로를 따를 것이다. 비록 내가 분열될 수도 있지만.
정보의 과부하를 피하기 위해 일부 부분을 두 부분으로 나누다.
오늘은 제1부분: 프로젝트 설정, 여론조사 응용 프로그램 만들기, 첫 번째django 보기 경로 조작
이 부분의 코드는 사용할 수 있습니다here. 하지만 인코딩을 권장합니다!

🔧 프로젝트 작성


FastapI는 설치하기 쉬워요. 사실상FastapI 프로그램을 실행하는 데 필요한 것은 단일 파일의 실례화일 뿐이에요.
주 응용 프로그램과 그것을 실행하는 ASGI 작업 프로그램.물론 우리는 더욱 진일보할 것이다.저희 도망갑니다.
응용 프로그램은 Docker 컨테이너에 있으므로 컴퓨터에 설치해야 합니다.

부두 일꾼 형상


먼저 작업 디렉토리의 루트 디렉토리에 Dockerfile를 생성하고 다음 설명을 작성합니다.

FROM python:3.9

WORKDIR /app

# Install Poetry
RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | POETRY_HOME=/opt/poetry python && \
    cd /usr/local/bin && \
    ln -s /opt/poetry/bin/poetry && \
    poetry config virtualenvs.create false


# Copy using poetry.lock* in case it doesn't exist yet
COPY ./app/pyproject.toml ./app/poetry.lock* /app/

RUN poetry install --no-root --no-dev

COPY ./app /app


CMD ["uvicorn", "app.main:app", "--reload", "--host", "0.0.0.0", "--port", "80"]


이것은 약간의 평론이 필요하다.
의존 항목의 설치 방식이 좀 이상할 수 있습니다.여기서 우리는 poetry를 패키지 관리자로 사용하기 때문에 먼저 그것을 설치한 다음에 설치해야 한다
그리고 install를 실행하지만 가상 환경--no-root을 만들지 않습니다.이런 방법의 장점은 네가 사용할 수 있다는 데 있다
개발 환경에서도 마찬가지pyproject.toml이기 때문에 정적 분석 도구 등 도구는 같은 의존항을 사용한다.제작 중입니다.
설정은 우리가 여러 단계의 건설과 포기poetry를 만들어 더욱 날씬한 이미지를 가지게 할 수 있다.app 폴더는 코드가 있는 다음 절에 생성됩니다.
마지막으로, 우리가 uvicorn에 전달한 --reload 옵션을 주의하십시오. 이것은 우리가 일을 할 수 있도록 허락합니다. 매번 노동자를 다시 시작할 필요가 없습니다.
달라지다
잠시 후 용기를 시작할 것입니다. 우선 프로그램을 초기화해야 합니다.

fastapi 응용 프로그램


우선 코드가 있는 폴더를 만듭니다: mkidr app이제 내가 말한 바와 같이, 우리는 주 노드를 하나만 만들 수 있다.만약 우리가 생각한다면py 파일을 사용할 수 있습니다.하지만 이 시리즈의 주제에 충실하기 위해
django 프로그램과 유사한 디렉터리 구조를 만듭니다.이것이 바로 우리가 두 번째 app 디렉터리를 만드는 이유입니다. 이것은 우리의'메인 디렉터리'가 될 것입니다.
응용 프로그램.잠시 후 polls 디렉터리를 만들 것입니다.
이제 mkdir app/app 폴더를 만들고 main.py 파일을 만들기만 하면 됩니다.너의 디렉터리 구조는 지금 마땅히
이렇게

완벽해!현재 필수 과목hello world !이 다가오면서 안전벨트를 매세요.main.py 에 다음 줄을 쓰십시오.

from fastapi import FastAPI


app = FastAPI()


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

이것은 프로그램을 초기화하고 우리의 첫 번째 path operation 를 만들 것입니다.이것
의사한테 직접 받은 거야!그러나 우리는 용기를 가동해야 하기 때문에 아직 소식을 볼 수 없다.우리는 곧 도착하는데,
다음 절로 가자!

응용 프로그램 시작


프로그램을 시작하기 전에 그림을 만들어야 합니다.프로젝트에서 실행되는 루트 디렉토리docker build -t poll-app .현재 우리는 용기를 가동할 수 있다. docker run -it -p 80:80 -v "$(pwd)"/app:/app poll-app.이것도 늘어요.
프로그램 디렉터리이기 때문에 파일을 편집할 때마다 다시 만들 필요가 없습니다.
우리는 지금 우리의 단점을 테스트할 준비를 하고 있다.브라우저에서 localhost로 이동하여 보십시오!


... 크노비 장군
이것은 이미 훌륭하지만, 가장 좋은 것은Fast API가 내장된 것과 시장을 뒤흔드는 개방적인api 설정을 가지고 있다는 것이다
자체적입니다.이것은 localhost/docs로 이동하면 다음과 같은 내용을 볼 수 있다는 것을 의미한다.

FastapI 는 자동으로 엔드포인트 문서를 생성합니다!만약 네가 나에게 묻는다면 API의 기능은 매우 간결하다.

📜 투표 응용 프로그램 만들기


현재 Hello world ! 는 이미 유행이 지났습니다. (저는 그것을 당신의 개인 소장품에 추가하는 것을 건의합니다.) 우리는 실제 여론조사 응용 프로그램에 들어가도록 하겠습니다.... 로 삼다
내가 전에 말했듯이, 우리는 메인 프로그램 옆에 polls 디렉터리를 만들 것이다.완료되면 endpoints.py라는 파일을
이 새 폴더에서 항목의 구조는 다음과 같아야 합니다.

관련 __init__.py 파일을 만드는 것을 잊지 마십시오. 그러면 폴더가 Python 모듈로 식별됩니다.
이제 여론조사 프로그램에 색인을 만듭시다.이 색인은 잠시 후에 우리 데이터베이스에서 사용할 수 있는 여론 조사를 열거할 것이지만, 지금은 간단한 소식으로 되돌아갈 것이다.다음 코드를 polls/endpoints.py에 추가합니다.

  from fastapi import APIRouter

  router = APIRouter()


  @router.get("/")
  async def index():
      return {"message": "polls index"}


여기에서 우리는 APIrouter 를 사용하여 경로 조작을 설명합니다.그것의 작업 원리와
전화번호FastaAPI().지금 우리가 해야 할 일은 main.py에서 단점을 성명하는 것이다.

app.include_router(polls.endpoints.router, prefix="/polls")

접두사는 폴링 끝에서 오는 모든 경로가 폴링으로 시작됨을 나타냅니다.당신의 여론조사 색인은 현재 두 사이트에서 사용할 수 있을 것이다localhost/polls와 흔들림 문서 중!어디 보자!

위대하다우리의 여론조사 지수는 효과가 있다. 비록 아직 아무런 결과도 돌아오지 않았지만, 우리는 2부분에서 이에 대해 설명할 것이다.

결론


이것은 첫 번째 부분입니다. 만약 당신이 유용하다고 생각한다면 저에게 알려 주세요.두 번째 부분에서 우리는 어떻게 실제 데이터베이스를 구축하여 우리의 여론 조사를 저장하는지 보게 될 것이다!

좋은 웹페이지 즐겨찾기