Я не уверен, что это правильный подход, но возможно ли:
- иметь файл шаблона jinja2
template.html
, который вызывает макрос my_macro()
:
<div> some html stuff
{{ my_macro() }}
</div>
- определить макрос
my_macro
не в файле шаблона, а непосредственно в python:
my_macro_def = """
{% macro my_macro() %}
do something here
{% endmacro %}
""""
, чтобы я мог передать эту строку my_macro_def
вшаблон template.html
при рендеринге шаблона с помощью render()
из jinja2?
Я думал о том, чтобы прочитать файл шаблона и объединить его с my_macro_def
, а затем выполнить рендеринг, но, может быть, есть лучший способ?