forked from seb_vallee/BillManager
Init project
This commit is contained in:
19
template_helper.py
Normal file
19
template_helper.py
Normal file
@@ -0,0 +1,19 @@
|
||||
"""
|
||||
Helper pour injecter automatiquement current_user dans le contexte Jinja2.
|
||||
"""
|
||||
from fastapi import Request
|
||||
from fastapi.templating import Jinja2Templates
|
||||
from starlette.responses import HTMLResponse
|
||||
|
||||
|
||||
def render(templates: Jinja2Templates, template_name: str,
|
||||
request: Request, context: dict = None,
|
||||
status_code: int = 200) -> HTMLResponse:
|
||||
ctx = context or {}
|
||||
ctx["request"] = request
|
||||
if "current_user" not in ctx:
|
||||
ctx["current_user"] = getattr(request.state, "current_user", None)
|
||||
# Compatible avec toutes les versions de Starlette/FastAPI
|
||||
response = templates.TemplateResponse(template_name, ctx)
|
||||
response.status_code = status_code
|
||||
return response
|
||||
Reference in New Issue
Block a user