jinja2 - 使用 jinja 循环遍历宏列表
问题描述
我想知道是否可以在 Jinja 的另一个宏中循环遍历宏列表。
例如:
{% set macro_list = [macro_one,macro_two,macro_three] %}
{% for macro in macro_list%}
{{ macro(param) }}
{% endfor %}
类似于在 python 中你可以循环一个函数列表。目前这对我不起作用,因为宏名称被识别为字符串而不是对宏的引用。
解决方案
我已经解决了这个问题。
您还可以通过在您自己的项目中加上您的包名前缀来限定宏(这主要对包作者有用)。
一个例子:
[% set list = ["macro_one","macro_two]%]
{% for macro in list%}
{{ package_name[macro](params) }}
{% endfor %}
推荐阅读
- json - 使用 cloudformation 在云端添加 ssl 证书时出现错误(需要指定)
- python - 是否可以在 multiprocessing.Process 中传递 ndarray 类型的对象?
- algorithm - 如何根据最小道路中的最大拱门数停止 Bellman-Ford 算法
- reactjs - Material UI 自动完成:在自定义菜单下拉列表中渲染失去焦点
- html - iOS Safari 中设备旋转后页面底部的空白
- python - 在行之间的差异大于一定数量的地方放置 NaN
- python - 尝试获取电子商务 Django 项目中每个项目的总销售额
- python - 在python中将PCM WAV转换为普通WAV
- csv - Elixir 初学者:解析 CSV 文件
- node.js - Heroku 说我没有 Procfile