Как проверить, существует ли переменная списка в шаблоне 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']
по мере доступности.
Что я должен сделать? Я продолжаю получать:
IndexError: list index out of range
с вышеупомянутым
1 ответ
Решение
ПКП 8 рекомендует:
Для последовательностей (строк, списков, кортежей) используйте тот факт, что пустые последовательности являются ложными.
Так что на самом деле вам не нужно проверять длину и просто проверять это так:
% if mydict.get('somekey'):
${mydict['somekey'][0]['hellothere']}</td></tr>
% endif