Синтаксис вложенного словаря Tal
Работая с Pyramid, мой код выглядит так:
class PageData:
@staticmethod
def create_data():
return [
{
'key_1A': 'info1A',
'key_2A': 'info2A',
'nested_list_A': [
{'nested_key1A': 'nested_val1A'},
{'nested_key2A': 'nested_val2A'},
],
},
{
'key_1A': 'info1B',
'key_2A': 'info2B',
'nested_list_B': [
{'nested_key1B': 'nested_val1B'},
{'nested_key2A': 'nested_val2A'},
],
},
]
И мой HTML-код страницы выглядит так:
<span tal:condition="nested_key1A"> Open </span>
<span tal:condition="not nested_key1A"> Closed </span>
Каков правильный синтаксис для ссылки на nested_key? для таль: условие оператора?
1 ответ
Пытаясь понять это, я нашел свой ответ...
tal: repeat Синтаксис: tal:repeat="имя выражения"
Описание: оценивает "выражение" и, если это последовательность, повторяет этот тег и все дочерние элементы один раз для каждого элемента в последовательности. "Имя" будет установлено на значение элемента в текущей итерации, а также является именем переменной повтора. Переменная repeat доступна через путь TAL: repeat/name и имеет следующие свойства:
<div tal:repeat="a nest_list_A">
<div tal:repeat="b a.nest_list_A">
<span tal:condition="b.nested_key1A">
a становится назначением для nest_list_A, например, b становится назначением для a.nested_list_A, который затем получит доступ к своему ключу
если есть значение для ключа, то tal: условие будет продолжаться как обычно, иначе оно будет пропущено при рендеринге.