【问题标题】:How to check if list variable exists in python mako template?如何检查python mako模板中是否存在列表变量?
【发布时间】:2012-11-27 22:59:25
【问题描述】:

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

% 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

以上内容

【问题讨论】:

    标签: python mako


    【解决方案1】:

    PEP 8推荐:

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

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

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

    【讨论】:

      猜你喜欢
      • 2012-08-13
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      • 2017-03-24
      • 2011-07-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-20
      相关资源
      最近更新 更多