StaticFiles를 사용하는 동안 FastAPI 루트 경로에서 특정 HTML 파일을 제공하는 방법
StaticFiles와 함께 FastAPI를 사용하여 정적 파일을 제공하는 경우 기본 index.html 대신 루트 경로에 다른 HTML 파일(예: custom.html)을 로드하려는 시나리오가 발생할 수 있습니다. 이는 FastAPI의 라우팅 및 StaticFiles 기능의 특정 측면을 이해함으로써 달성할 수 있습니다.
StaticFiles 이해
Starlette의 문서에 따르면 StaticFiles는 다음에서 정적 파일 제공을 처리하는 미들웨어입니다. 지정된 디렉토리. html=True가 설정되면 자동으로 디렉토리에서 index.html 파일을 찾아 그에 따라 제공합니다.
마운트 순서
StaticFiles 마운트 순서 및 정의 엔드포인트는 중요한 역할을 합니다. StaticFiles가 루트 경로(예: /)에 마운트되고 엔드포인트보다 먼저 정의된 경우 나중에 사용자 정의 엔드포인트가 정의되더라도 이 파일이 우선 적용되어 모든 요청을 처리합니다.
루트 경로 사용자 정의
루트 경로에서 특정 HTML 파일을 제공하려면 다음 단계를 따라야 합니다.
StaticFiles를 별도의 경로(예: /static)에 마운트합니다. :
app.mount('/static', StaticFiles(directory='static'))
원하는 HTML 파일을 반환하는 사용자 정의 엔드포인트를 생성합니다.
@app.get('/') async def index(): return FileResponse('custom.html')
추가 고려 사항
위 내용은 StaticFiles를 사용하여 FastAPI의 루트 경로에 사용자 정의 HTML 파일을 제공하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!