13 lines
568 B
Python
13 lines
568 B
Python
import inspect
|
|
from collections.abc import Mapping
|
|
|
|
|
|
def render_template(templates, request, template_name: str, context: Mapping | None = None, **response_kwargs):
|
|
context_dict = dict(context or {})
|
|
parameters = list(inspect.signature(templates.TemplateResponse).parameters)
|
|
|
|
if parameters and parameters[0] == "request":
|
|
return templates.TemplateResponse(request, template_name, context_dict, **response_kwargs)
|
|
|
|
context_dict.setdefault("request", request)
|
|
return templates.TemplateResponse(template_name, context_dict, **response_kwargs) |