Bagaimana untuk Melayan Fail HTML Tersuai di Laluan Root dalam FastAPI dengan StaticFiles?

Susan Sarandon
Lepaskan: 2024-11-10 09:09:02
asal
412 orang telah melayarinya

How to Serve a Custom HTML File at the Root Path in FastAPI with StaticFiles?

Bagaimana untuk Memuatkan Fail Berbeza daripada index.html dalam Laluan Root FastAPI Semasa Menggunakan Fail Statik?

Isu

Dalam aplikasi FastAPI yang menyediakan perkhidmatan statik fail menggunakan StaticFiles, permintaan kepada laluan akar mengembalikan index.html dan bukannya fail HTML tersuai yang dinyatakan dalam @app.get("/" yang berasingan).

Penyelesaian

Menurut Dokumentasi Starlette untuk StaticFiles:

html - Jalankan dalam mod HTML. Memuatkan index.html secara automatik untuk direktori jika fail sedemikian wujud.

Untuk menyelesaikan isu ini, lekapkan tika StaticFiles ke laluan lain, seperti /static, bukannya / (laluan akar), seperti yang ditunjukkan di bawah:

from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
from fastapi.responses import FileResponse

app = FastAPI()

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

@app.get('/')
async def index() -> FileResponse:
    return FileResponse('static/custom.html', media_type='html')
Salin selepas log masuk
Jika StaticFiles dipasang sebelum semua titik akhir lain, ia akan mengendalikan semua permintaan kerana keutamaannya.

The html=True Pilihan

    Tetapan html=True memudahkan penyajian direktori kandungan web dalam satu baris. Walau bagaimanapun, untuk kandungan dinamik atau titik akhir tambahan, pertimbangkan untuk menggunakan Templat dan memasang StaticFiles ke laluan lain tanpa menggunakan html=True.

Atas ialah kandungan terperinci Bagaimana untuk Melayan Fail HTML Tersuai di Laluan Root dalam FastAPI dengan StaticFiles?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan