jinja_templates.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. from datetime import datetime
  2. from fastapi.templating import Jinja2Templates
  3. templates = Jinja2Templates(directory="templates")
  4. def number_format(input: float) -> str:
  5. return format(input, "0,.2f").replace(".", ":").replace(",", ".").replace(":", ",")
  6. def date_format(input: datetime) -> str:
  7. if input is None:
  8. return ""
  9. return input.strftime("%d.%m.%Y")
  10. def checked(input: str) -> str:
  11. if input in ("J", "1", 1, True):
  12. return "checked"
  13. return ""
  14. def selected(input: str) -> str:
  15. if input in ("J", "1", 1, True):
  16. return "selected"
  17. return ""
  18. def truefalse(input: str) -> str:
  19. if input in ("J", "1", 1, True):
  20. return "true"
  21. return "false"
  22. def show(input: str) -> str:
  23. if input in ("J", "1", 1, True):
  24. return "show"
  25. return ""
  26. templates.env.filters["number_format"] = number_format
  27. templates.env.filters["date_format"] = date_format
  28. templates.env.filters["checked"] = checked
  29. templates.env.filters["selected"] = selected
  30. templates.env.filters["truefalse"] = truefalse
  31. templates.env.filters["show"] = show