Files
fastapi-admin/fastapi_admin/widgets/__init__.py
2021-04-25 17:17:21 +08:00

25 lines
627 B
Python

from typing import Any
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, 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)