我会在Mako文件中采用以下方式:
基本上,我预计上下文将包含名称为“operationOne”和“operationTwo”的操作,并且我希望动态决定要插入哪个Mako Def。
在行${${operation['name']}Body()}中,内部${}标记的想法是
我会在Mako文件中采用以下方式:
%for operation in operation_list:
${operation['name']}
${${operation['name']}Body()}
%endfor
<%def name="operationOneBody()">
some stuff
</%def>
<%def name="operationTwoBody()">
some other stuff
</%def>
基本上,我预计上下文将包含名称为“operationOne”和“operationTwo”的操作,并且我希望动态决定要插入哪个Mako Def。
在行${${operation['name']}Body()}中,内部${}标记的想法是
${operation['name']}
将解析为“operationOne”,然后是“operationTwo”等等,因此外部${}将看起来像${operationOneBody()}
第一次通过循环,${operationTwoBody()}
第二次通过,依此类推——这将导致调用适当的defs,最终填充我想要的实际内容。