web.py запрещает выполнение некоторых типов юридических утверждений python в шаблоне. Я не знаю, почему он запрещает ваше конкретное утверждение, но есть способ разрешить шаблонам делать больше:
web / template.py содержит список ALLOWED_AST_NODES
, которые являются конструкциями (используется абстрактным синтаксическим деревомпарсер), которые разрешены в шаблонах. Вы можете изменить это.
В своем коде добавьте один раз:
from web.template import ALLOWED_AST_NODES
ALLOWED_AST_NODES.append('Constant')
Теперь это не должно быть необходимым, поэтому я подозреваю, что в вашем коде происходит что-то еще ... Возможно, сочетание версий? Я полагаю, что «Константа» является узлом в python3 AST, но не в python2?
Это полезный метод для добавления словарного понимания .append('DictComp')
к шаблону разрешенных узлов ast, поскольку он уже разрешает понимание списка.