Dalam pembangunan web, adalah amalan biasa untuk mencipta halaman ralat tersuai untuk kod status HTTP yang berbeza untuk meningkatkan pengalaman pengguna. Dalam artikel ini, kami akan meneroka cara membuat halaman 404 Not Found tersuai menggunakan FastAPI, rangka kerja web Python yang popular.
FastAPI menawarkan beberapa kaedah untuk mengendalikan pengecualian dan ralat tersuai. Mari kita selami pelbagai penyelesaian yang tersedia.
Untuk menentukan pengendali pengecualian tersuai, gunakan penghias @app.exception_handler(exception_to_handle). Untuk mengendalikan ralat 404, kod berikut boleh digunakan:
<code class="python">@app.exception_handler(404) async def not_found_error(request: Request, exc: HTTPException): return RedirectResponse('https://fastapi.tiangolo.com')</code>
FastAPI membenarkan penggunaan perisian tengah tersuai untuk memintas permintaan dan respons. Untuk mencipta perisian tengah bagi pengendalian ralat 404:
<code class="python">@app.middleware("http") async def redirect_on_not_found(request: Request, call_next): response = await call_next(request) if response.status_code == 404: return RedirectResponse("https://fastapi.tiangolo.com") else: return response</code>
Sebagai alternatif, pengendali pengecualian boleh ditentukan sebagai parameter kelas FastAPI:
<code class="python">async def not_found_error(request: Request, exc: HTTPException): return RedirectResponse('https://fastapi.tiangolo.com') exception_handlers = {404: not_found_error} app = FastAPI(exception_handlers=exception_handlers)</code>
Dalam coretan kod yang disediakan di atas, kami mengembalikan RedirectResponse untuk mengubah hala pengguna ke halaman lain. Walau bagaimanapun, anda juga boleh mengembalikan HTMLResponse tersuai atau Jinja2TemplateResponse untuk membuat halaman ralat tersuai dengan kandungan yang sesuai.
Kami berharap panduan ini membantu anda membuat halaman ralat 404 tersuai dalam FastAPI dan meningkatkan pengalaman pengguna pada aplikasi web anda .
Atas ialah kandungan terperinci Bagaimana untuk Menyesuaikan Halaman Ralat Tidak Ditemui 404 dalam FastAPI?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!