mirror of
https://github.com/rjNemo/vf-site
synced 2026-06-06 01:16:38 +00:00
set default in main instead of inside the renderer fix: renderer template folder setup
16 lines
526 B
Python
16 lines
526 B
Python
from typing import Protocol
|
|
|
|
from jinja2 import Environment, FileSystemLoader, select_autoescape
|
|
|
|
|
|
class Renderer(Protocol):
|
|
def render(self, template: str, context: dict | None = None) -> str:
|
|
...
|
|
|
|
|
|
class FileSystemRenderer(Renderer):
|
|
def __init__(self, path: str):
|
|
self.engine = Environment(loader=FileSystemLoader(path), autoescape=select_autoescape())
|
|
|
|
def render(self, template: str, context: dict | None = None) -> str:
|
|
return self.engine.get_template(template).render(context or {})
|