Merge pull request #72 from magisk317/fix/template-response-signature

Fix template rendering with Starlette 1.0
This commit is contained in:
演变
2026-03-23 18:24:32 +08:00
committed by GitHub

View File

@@ -108,8 +108,9 @@ def create_app() -> FastAPI:
async def login_page(request: Request, next: Optional[str] = "/"):
"""登录页面"""
return templates.TemplateResponse(
request,
"login.html",
{"request": request, "error": "", "next": next or "/"}
{"error": "", "next": next or "/"}
)
@app.post("/login")
@@ -118,8 +119,9 @@ def create_app() -> FastAPI:
expected = get_settings().webui_access_password.get_secret_value()
if not secrets.compare_digest(password, expected):
return templates.TemplateResponse(
request,
"login.html",
{"request": request, "error": "密码错误", "next": next or "/"},
{"error": "密码错误", "next": next or "/"},
status_code=401
)
@@ -139,33 +141,33 @@ def create_app() -> FastAPI:
"""首页 - 注册页面"""
if not _is_authenticated(request):
return _redirect_to_login(request)
return templates.TemplateResponse("index.html", {"request": request})
return templates.TemplateResponse(request, "index.html")
@app.get("/accounts", response_class=HTMLResponse)
async def accounts_page(request: Request):
"""账号管理页面"""
if not _is_authenticated(request):
return _redirect_to_login(request)
return templates.TemplateResponse("accounts.html", {"request": request})
return templates.TemplateResponse(request, "accounts.html")
@app.get("/email-services", response_class=HTMLResponse)
async def email_services_page(request: Request):
"""邮箱服务管理页面"""
if not _is_authenticated(request):
return _redirect_to_login(request)
return templates.TemplateResponse("email_services.html", {"request": request})
return templates.TemplateResponse(request, "email_services.html")
@app.get("/settings", response_class=HTMLResponse)
async def settings_page(request: Request):
"""设置页面"""
if not _is_authenticated(request):
return _redirect_to_login(request)
return templates.TemplateResponse("settings.html", {"request": request})
return templates.TemplateResponse(request, "settings.html")
@app.get("/payment", response_class=HTMLResponse)
async def payment_page(request: Request):
"""支付页面"""
return templates.TemplateResponse("payment.html", {"request": request})
return templates.TemplateResponse(request, "payment.html")
@app.on_event("startup")
async def startup_event():