From e032994628ac3bd464a6520d5cda7d7f769c7bed Mon Sep 17 00:00:00 2001 From: Christian Krakau-Louis Date: Fri, 22 May 2026 15:39:33 +0200 Subject: [PATCH] Fix template response compatibility --- app/templates_config.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/templates_config.py b/app/templates_config.py index 1d6ed42..f50e031 100644 --- a/app/templates_config.py +++ b/app/templates_config.py @@ -15,6 +15,18 @@ class MyJinjaTemplates(Jinja2Templates): self.env.add_extension('jinja2.ext.do') self.env.globals['now'] = datetime.now # Add 'now' function + def TemplateResponse(self, *args: Any, **kwargs: Any) -> _TemplateResponse: + """Support existing pre-Starlette 0.29 TemplateResponse calls.""" + if args and isinstance(args[0], str): + name = args[0] + context = args[1] if len(args) > 1 else kwargs.pop("context", {}) + request = context.get("request") if isinstance(context, dict) else None + if request is None: + raise ValueError("TemplateResponse context must include request") + return super().TemplateResponse(request, name, context, *args[2:], **kwargs) + + return super().TemplateResponse(*args, **kwargs) + # Create templates object that can be imported elsewhere templates = MyJinjaTemplates(directory=str(BASE_DIR / "templates"))