在Web 開發中,通常的做法是為不同的HTTP 狀態代碼建立自訂錯誤頁面以增強使用者體驗。在本文中,我們將探索如何使用流行的 Python Web 框架 FastAPI 建立自訂 404 Not Found 頁面。
FastAPI 提供了多種方法來處理自訂異常和錯誤。讓我們深入研究各種可用的解決方案。
要定義自訂異常處理程序,請使用 @app.exception_handler(exception_to_handle) 裝飾器。為了處理 404 錯誤,可以使用以下程式碼:
<code class="python">@app.exception_handler(404) async def not_found_error(request: Request, exc: HTTPException): return RedirectResponse('https://fastapi.tiangolo.com')</code>
FastAPI 允許使用自訂中間件來攔截請求和回應。若要建立用於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>
或者,異常處理程序可以指定為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>
在上面提供的程式碼片段中,我們傳回一個RedirectResponse 將使用者重新導向到不同的頁面。但是,您也可以傳回自訂 HTMLResponse 或 Jinja2TemplateResponse 以建立具有適當內容的自訂錯誤頁面。
我們希望本指南幫助您在 FastAPI 中建立自訂 404 錯誤頁面並增強 Web 應用程式的使用者體驗.
以上是如何在 FastAPI 中自訂 404 Not Found 錯誤頁面?的詳細內容。更多資訊請關注PHP中文網其他相關文章!