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')
추가 고려 사항
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3