Есть ли способ подавления ошибок клавиш, когда ключ словаря не найден в шаблонах Chameleon ZPT?

Иногда было бы неплохо сделать это, просто верните None в любом выражении, вычисляющем несуществующий ключ dict, вместо вызова KeyError.

1 ответ

Решение

Вы бы использовали dict.get() чтобы получить доступ к ключу вместо:

<div tal:attributes="class some_dict.get(some_key)">

где class атрибут будет опущен, если some_key отсутствует, так как возвращаемое значение по умолчанию из dict.get() является None если ключ отсутствует.

Другие вопросы по тегам