mirror of
https://github.com/fastapi-admin/fastapi-admin.git
synced 2025-08-14 18:58:13 +08:00
26 lines
684 B
Python
26 lines
684 B
Python
from typing import Any
|
|
|
|
from starlette.requests import Request
|
|
from starlette.templating import Jinja2Templates
|
|
|
|
from fastapi_admin.template import templates as t
|
|
|
|
|
|
class Widget:
|
|
templates: Jinja2Templates = t
|
|
template: str = ""
|
|
|
|
def __init__(self, **context):
|
|
"""
|
|
All context will pass to template render if template is not empty.
|
|
:param context:
|
|
"""
|
|
self.context = context
|
|
|
|
async def render(self, request: Request, value: Any):
|
|
if value is None:
|
|
value = ""
|
|
if not self.template:
|
|
return value
|
|
return self.templates.get_template(self.template).render(value=value, **self.context)
|