Maison  >  Article  >  développement back-end  >  Comment servir des fichiers HTML personnalisés au lieu d'index.html dans le chemin racine de FastAPI ?

Comment servir des fichiers HTML personnalisés au lieu d'index.html dans le chemin racine de FastAPI ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-09 19:59:02606parcourir

How to Serve Custom HTML Files Instead of index.html in FastAPI's Root Path?

Servir des fichiers HTML personnalisés au lieu d'Index.html dans le chemin racine de FastAPI

Dans FastAPI, vous pouvez servir des fichiers statiques, y compris HTML, à l'aide du middleware StaticFiles. Cependant, l'utilisation de StaticFiles pour le chemin racine (/) peut entraîner un comportement inattendu, car il sert automatiquement index.html pour le répertoire racine.

Pourquoi index.html est servi à la place du HTML personnalisé

Selon la [documentation Starlette](https://www.starlette.io/static-files/), StaticFiles a une option html qui, lorsqu'elle est définie sur True, charge automatiquement index.html pour les répertoires si tel est le cas. un fichier existe.

Solution : Montez StaticFiles sur un chemin différent

Pour afficher correctement votre fichier HTML personnalisé sur le chemin racine, montez StaticFiles sur un chemin différent, tel que /static :

from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles

app = FastAPI()

app.mount("/static", StaticFiles(directory="static"), name="static")

L'ordre de montage est important

L'ordre dans lequel vous montez StaticFiles et définissez vos points de terminaison est crucial. Si vous montez StaticFiles après avoir défini votre point de terminaison racine, le point de terminaison racine aura la priorité et le fichier HTML personnalisé sera servi.

Supprimez l'option html=True

Si vous souhaitez diffuser différents fichiers HTML dynamiquement et avoir des points de terminaison supplémentaires, il est recommandé de supprimer l'option html=True de StaticFiles et d'utiliser FastAPI [Modèles](https://fastapi.tiangolo.com/templates/) à la place.

Conclusion

En abordant l'ordre et la configuration de StaticFiles, vous pouvez servir votre fichier HTML personnalisé au lieu de index.html sur le chemin racine tout en activant également des points de terminaison d'API supplémentaires. Considérez attentivement l'option html=True en fonction de votre cas d'utilisation spécifique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn