Jinja模板,如何导入所有宏以遵循DRY原则?

时间:2017-07-22 00:32:02

标签: macros jinja2

目前我在很多地方都有:

{% from "macros/render_product_materials.html" import render_product_materials %}
{% from "macros/render_citation.html" import render_citation %}
{% from "macros/render_product_packages.html" import render_product_packages %}
{% from "macros/render_icon_explanation_section.html" import render_icon_explanation_section %}
{% from "macros/render_percentage_items.html" import render_percentage_items %}

此列表继续!

然后我调用模板中的代码:

{{render_percentage_items('some args',2,34,55)}}

如果我更改了一个函数名,我必须在任何地方更改它,如果我添加一个新函数,我必须每次都去导入它

我更愿意这样做,就像这样:

{% include 'macros/all_macros.html' %}

然后我将所有导入放入all_macros.html

但是:导入在上下文中不可用

e.g。

{% include 'macros/all_macros.html' %}

{{render_percentage_items('some args',2,34,55)}}

不起作用。 render_percentage_items未找到。现在,以jinja方式做到这一点的方法是什么?

0 个答案:

没有答案