Mako模板中IF语句的问题

5 投票
1 回答
9700 浏览
提问于 2025-04-16 21:05

我有一个mako模板,在里面我用一个简单的字典在循环中检查条件,像这样:

% for el in seq:
    % if el["attr"] == 1:
        ...
     elif:
        ....
     else:
        .....
     % endif

如果我想在这个循环中再加一个IF语句,比如:

 %if el["attr1"] == 1:
       ....
 %endif

我遇到了一个错误:“SyntaxException: 关键字 'endif' 和 'for' 不匹配”。在一个FOR循环中可以有两个或更多的IF语句吗?

1 个回答

11

你缺少了 %endfor 和 elif、else 语句中的 % 符号:

%for el in seq:
    %if foo:
        pass
    %elif bar:
        pass
    %else:
        pass
    %endif
%endfor

撰写回答