如何检查python mako模板中是否存在列表变量?

时间:2012-11-27 22:59:25

标签: python mako

假设我的模板中有以下内容:

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

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

我该怎么办?我一直在说:

mydict['somekey'][0]['hellothere']

与上述

1 个答案:

答案 0 :(得分:1)

PEP 8建议:

  

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

所以你真的不需要检查长度,只需检查它:

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