StaticFiles와 함께 FastAPI의 루트 경로에서 사용자 정의 HTML 파일 제공
StaticFiles와 함께 FastAPI를 사용하는 동안 사용자 정의 HTML 파일 제공은 예상되는 동작. 기본 구성은 정적 파일 미들웨어가 루트 경로에 마운트되면 index.html을 자동으로 로드합니다. 그러나 다음 단계에 따라 이를 재정의하고 다른 HTML 파일을 렌더링할 수 있습니다.
정적 파일을 다른 경로에 마운트
index.html 로딩 문제를 방지하려면 , StaticFiles 인스턴스를 루트 대신 고유한 경로에 마운트합니다. 예를 들어 /static:
app.mount( "/static", StaticFiles(directory="static", html=True), name="static", )
루트 경로 끝점 정의
다음으로 루트 경로를 처리할 사용자 지정 끝점을 만듭니다. 이 엔드포인트는 원하는 사용자 정의 HTML 파일을 반환합니다:
@app.get("/") async def index(): return FileResponse("static/custom.html", media_type="html")
정의 순서
정의 순서가 중요합니다. 루트 경로 엔드포인트를 정의하기 전에 StaticFiles를 마운트하면 StaticFiles 애플리케이션은 엔드포인트에 정의된 요청을 포함하여 루트 경로에 대한 모든 요청을 처리합니다.
적절한 순서의 예
정확한 정의 순서의 예는 다음과 같습니다.
from fastapi import FastAPI from fastapi.staticfiles import StaticFiles from fastapi.responses import FileResponse app = FastAPI() @app.get("/") async def index(): return FileResponse("static/custom.html", media_type="html") app.mount( "/static", StaticFiles(directory="static", html=True), name="static", )
다음을 따르세요. 단계를 거치면 StaticFiles를 사용하여 정적 파일을 제공하는 동시에 FastAPI 애플리케이션의 루트 경로에 사용자 정의 HTML 파일을 제공할 수 있습니다.
위 내용은 FastAPI 및 StaticFiles를 사용하여 루트 경로에서 특정 HTML 파일을 제공하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!