假设我的模板中包含以下内容:
% 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']
中的内容。我必须做什么?我不断得到:
IndexError: list index out of range
以上
最佳答案
PEP 8建议:
对于序列(字符串,列表,元组),请使用以下事实:
序列是错误的。
因此,实际上您不需要检查长度,而只需像这样检查它:
% if mydict.get('somekey'):
${mydict['somekey'][0]['hellothere']}</td></tr>
% endif