loader.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. from jinja2 import Environment, FileSystemLoader, FunctionLoader
  2. persons = [
  3. {"name": "Алексей", "old": 18, "weight": 78.5},
  4. {"name": "Николай", "old": 28, "weight": 82.5},
  5. {"name": "Иван", "old": 33, "weight": 94.0}
  6. ]
  7. # Загручик файлов
  8. def test_1():
  9. file_loader = FileSystemLoader('')
  10. env = Environment(loader=file_loader)
  11. tm = env.get_template('main.html')
  12. msg = tm.render(users=persons)
  13. print(msg)
  14. #
  15. def test_3():
  16. file_loader = FileSystemLoader('')
  17. env = Environment(loader=file_loader)
  18. tm = env.get_template('page.html')
  19. msg = tm.render(domain='http://proproprogs.ru', title='Про Jinja')
  20. print(msg)
  21. # Загрузчик на основе функций
  22. def load_tpl(path):
  23. if path == "index":
  24. return '''Имя {{u.name}}, возраст {{u.old}}'''
  25. else:
  26. return '''Данные: {{u}}'''
  27. def test_2():
  28. func_loader = FunctionLoader(load_tpl)
  29. env = Environment(loader=func_loader)
  30. tm = env.get_template('index') # Template
  31. msg = tm.render(u=persons[0])
  32. print(msg)
  33. def main():
  34. test_3()
  35. if __name__ == '__main__':
  36. main()