error pages

This commit is contained in:
long2ice
2021-05-05 14:46:26 +08:00
parent 3935adba00
commit 473faac93b
31 changed files with 390 additions and 246 deletions

View File

@ -1,6 +1,9 @@
from fastapi import HTTPException
from starlette.requests import Request
from starlette.status import HTTP_500_INTERNAL_SERVER_ERROR
from fastapi_admin.template import templates
class ServerHTTPException(HTTPException):
def __init__(self, error: str = None):
@ -31,3 +34,23 @@ class FileExtNotAllowed(ServerHTTPException):
"""
raise when the upload file ext not allowed
"""
async def server_error_exception(request: Request, exc: HTTPException):
return templates.TemplateResponse(
"errors/500.html",
status_code=HTTP_500_INTERNAL_SERVER_ERROR,
context={"request": request},
)
async def not_found_error_exception(request: Request, exc: HTTPException):
return templates.TemplateResponse(
"errors/404.html", status_code=exc.status_code, context={"request": request}
)
async def forbidden_error_exception(request: Request, exc: HTTPException):
return templates.TemplateResponse(
"errors/403.html", status_code=exc.status_code, context={"request": request}
)