Menyajikan Fail HTML Tersuai dalam Laluan Root FastAPI dengan StaticFiles
Semasa menggunakan FastAPI dengan StaticFiles, menyajikan fail HTML tersuai mungkin berbeza daripada tingkah laku yang diharapkan. Konfigurasi lalai secara automatik memuatkan index.html apabila perisian tengah fail statik dipasang pada laluan akar. Walau bagaimanapun, adalah mungkin untuk mengatasi ini dan memaparkan fail HTML yang berbeza dengan mengikut langkah berikut:
Memasang Fail Statik ke Laluan Berbeza
Untuk mengelakkan isu pemuatan index.html , lekapkan contoh StaticFiles ke laluan unik dan bukannya akar. Contohnya, lekapkannya pada /static:
app.mount( "/static", StaticFiles(directory="static", html=True), name="static", )
Mentakrifkan Titik Akhir Laluan Akar
Seterusnya, buat titik akhir tersuai untuk mengendalikan laluan akar. Titik akhir ini akan mengembalikan fail HTML tersuai yang diingini:
@app.get("/") async def index(): return FileResponse("static/custom.html", media_type="html")
Susunan Takrifan
Susunan takrifan adalah penting. Jika anda melekapkan StaticFiles sebelum mentakrifkan titik akhir laluan akar, aplikasi StaticFiles akan mengendalikan semua permintaan kepada laluan akar, termasuk yang ditakrifkan dalam titik akhir.
Contoh dengan Susunan Betul
Berikut ialah contoh dengan susunan takrifan yang betul:
from fastapi import FastAPI from fastapi.staticfiles import StaticFiles from fastapi.responses import FileResponse app = FastAPI() @app.get("/") async def index(): return FileResponse("static/custom.html", media_type="html") app.mount( "/static", StaticFiles(directory="static", html=True), name="static", )
Dengan mengikut langkah ini, anda boleh menyampaikan fail HTML tersuai dalam laluan akar aplikasi FastAPI anda sambil masih menggunakan StaticFiles untuk menyediakan fail statik.
Atas ialah kandungan terperinci Bagaimana untuk Melayan Fail HTML Khusus pada Laluan Root Menggunakan FastAPI dan StaticFiles?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!