2012-11-27 42 views
2

假设我已经在我的模板如下:如何检查列表变量是否存在于python mako模板中?

% if not mydict['somekey'] is UNDEFINED: 
    ${mydict['somekey'][0]['hellothere']}</td></tr> 
% endif  

我的问题是上面不作为mydict['somekey']工作始终是一个数组,但它可能是空的。我希望能够检查以确保如果mydict['somekey']已定义,我可以添加一个检查以确保1)列表大小大于0(来自模板内部),或者mydict['somekey']中包含元素,以便我可以在可用时打印出mydict['somekey'][0]['hellothere']中的内容。

我该做什么?我不断收到:上述

回答

1

PEP 8

IndexError: list index out of range 

建议:

对于序列(字符串,列表,元组),使用的事实,空 序列都是假的。

所以真的不需要检查长度,只是检查它像这样:

% if mydict.get('somekey'): 
    ${mydict['somekey'][0]['hellothere']}</td></tr> 
% endif 
相关问题