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

Linda Hamilton
Libérer: 2024-11-09 19:59:02
original
638 Les gens l'ont consulté

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")
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal