Cómo entregar un archivo HTML específico en la ruta raíz de FastAPI mientras se usan StaticFiles
Al usar FastAPI junto con StaticFiles para entregar archivos estáticos, Puede encontrar escenarios en los que desee cargar un archivo HTML diferente (por ejemplo, custom.html) en la ruta raíz en lugar del index.html predeterminado. Esto se puede lograr comprendiendo ciertos aspectos del enrutamiento de FastAPI y la funcionalidad StaticFiles.
Comprensión de StaticFiles
Según la documentación de Starlette, StaticFiles es un middleware que maneja la entrega de archivos estáticos desde un directorio especificado. Cuando se establece html=True, busca automáticamente archivos index.html en directorios y los muestra en consecuencia.
Orden de montaje
El orden de montaje de StaticFiles y definición de sus Los puntos finales juegan un papel crucial. Si StaticFiles se monta en la ruta raíz (es decir, /) y se define antes de cualquier punto final, tendrá prioridad y manejará todas las solicitudes, incluso si los puntos finales personalizados se definen más adelante.
Personalizar la ruta raíz
Para servir un archivo HTML específico en la ruta raíz, debe seguir estos pasos:
Montar StaticFiles en una ruta separada (por ejemplo, /static) :
app.mount('/static', StaticFiles(directory='static'))
Cree un punto final personalizado que devuelva el archivo HTML deseado:
@app.get('/') async def index(): return FileResponse('custom.html')
Consideraciones adicionales
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3