我有这个html代码段,需要在jinja2模板的很多地方使用:
<div class="usedalot">{{ somevalue }}</div>
例如,在template1.html,template2.html中。template3.html,此代码重复了几个地方
<!-- template1.html, template2.html. template3.html -->
<div class="usedalot">{{ somevalue }}</div>
......
<div class="usedalot">{{ somevalue }}</div>
....
<div class="usedalot">{{ somevalue }}</div>
......
除了复制和粘贴,还有某种方式可以将此代码段用作块吗?jinja2模板继承(带有块)似乎无法解决此问题。
您要查找的内容称为宏。
宏放置在单独的文件中(例如macros.html
)。
{% macro usedalot(somevalue) %}
<div class="usedalot">{{ somevalue }}</div>
{% endmacro %}
然后,您可以将宏导入其他模板中
{% from 'macros.html' import usedalot %}
然后在需要时使用它们
{{ usedalot(1) }}
这将输出
<div class="usedalot">1</div>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句