Python Mako模板是否支持在循环上下文中使用continue/break?

10

在控制结构循环中使用continue/break是否可行?

例如:

% for x in range(1):
 % continue
% endfor

谢谢,


4
你自己试过了吗? - satoru
1
抱歉~这就是为什么我在这里提问。我上面发布的代码不起作用,continue应该转到<% continue%>。我对mako不太了解,所以在这里提问可以节省时间。 - kerwin
1个回答

19
是的。您可以使用<% continue %><% break %>
例如:
from mako.template import Template 
t = Template( 
""" 
% for i in xrange(5): 
    % if i == 3: 
        <% break %> 
    % endif 
    ${i} 
% endfor 
% for i in xrange(5): 
    % if i == 3: 
        <% continue %> 
    % endif 
    ${i} 
% endfor 
""") 
print t.render() 

输出:

0 
1 
2 
0 
1 
2 
4 

3
对于那些还太懒得读这段话的人:是的,它支持。 - Alyssa Haroldsen
如果我理解正确的话,continue语句不能嵌入到一个include子模板中,而必须出现在定义for循环的模板中。不幸的是。 - jxramos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接