Commit 1d62a6d8 authored by Your Name's avatar Your Name

Fix Python 3.13 compatibility issue with Jinja2 template caching

- Removed redundant 'session' parameter from all template responses
- request.session is already accessible in templates via request object
- Fixes TypeError: unhashable type: 'dict' in Jinja2 cache with Python 3.13
parent be97e35e
......@@ -859,7 +859,7 @@ app.add_middleware(
@app.get("/dashboard/login", response_class=HTMLResponse)
async def dashboard_login_page(request: Request):
"""Show dashboard login page"""
return templates.TemplateResponse("dashboard/login.html", {"request": request, "session": request.session})
return templates.TemplateResponse("dashboard/login.html", {"request": request})
@app.post("/dashboard/login")
async def dashboard_login(request: Request, username: str = Form(...), password: str = Form(...)):
......@@ -876,7 +876,7 @@ async def dashboard_login(request: Request, username: str = Form(...), password:
request.session['logged_in'] = True
request.session['username'] = username
return RedirectResponse(url=url_for(request, "/dashboard"), status_code=303)
return templates.TemplateResponse("dashboard/login.html", {"request": request, "session": request.session, "error": "Invalid credentials"})
return templates.TemplateResponse("dashboard/login.html", {"request": request, "error": "Invalid credentials"})
@app.get("/dashboard/logout")
async def dashboard_logout(request: Request):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment