FastAPI에서는 StaticFiles 미들웨어를 사용하여 HTML을 포함한 정적 파일을 제공할 수 있습니다. 그러나 루트 경로(/)에 StaticFiles를 사용하면 루트 디렉터리에 index.html이 자동으로 제공되므로 예기치 않은 동작이 발생할 수 있습니다.
[Starlette 문서](https://www.starlette.io/static-files/)에 따르면 StaticFiles에는 True로 설정되면 자동으로 로드되는 html 옵션이 있습니다. 해당 파일이 있는 경우 디렉토리용 index.html.
루트 경로에서 사용자 정의 HTML 파일을 올바르게 렌더링하려면 StaticFiles를 다른 경로에 마운트하세요. 예: /static:
from fastapi import FastAPI from fastapi.staticfiles import StaticFiles app = FastAPI() app.mount("/static", StaticFiles(directory="static"), name="static")
마운트하는 순서 StaticFiles를 사용하고 엔드포인트를 정의하는 것이 중요합니다. 루트 엔드포인트를 정의한 후 StaticFiles를 마운트하면 루트 엔드포인트가 우선 적용되며 사용자 정의 HTML 파일이 제공됩니다.
다른 HTML 파일을 제공하려는 경우 동적으로 추가 엔드포인트가 있는 경우 StaticFiles에서 html=True 옵션을 제거하고 FastAPI를 사용하는 것이 좋습니다. [템플릿](https://fastapi.tiangolo.com/templates/) 대신.
StaticFiles의 순서 및 구성을 처리하면 템플릿 대신 사용자 정의 HTML 파일을 제공할 수 있습니다. index.html을 루트 경로에 추가하는 동시에 추가 API 엔드포인트도 활성화합니다. 특정 사용 사례에 따라 html=True 옵션을 신중하게 고려하세요.
위 내용은 FastAPI의 루트 경로에서 index.html 대신 사용자 정의 HTML 파일을 제공하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!