2017-07-26 3 views
1

Travailler avec Pyramide, mon code ressemble à ceci:tal syntaxe de dictionnaire imbriqué

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'}, 
       ], 
      }, 
      ] 

Et mon code page html ressemble à ceci:

<span tal:condition="nested_key1A">  Open  </span> 
<span tal:condition="not nested_key1A"> Closed </span> 

Quelle est la syntaxe de nested_key référence? pour une instruction tal: condition?

Répondre

0

En essayant de comprendre cela, j'ai trouvé ma réponse ...

tal: repeat Syntaxe: tal: repeat = "expression de nom"

Description: Évalue "expression", et si c'est une séquence, répète cette étiquette et tous les enfants une fois pour chaque élément de la séquence. Le "nom" sera défini à la valeur de l'élément dans l'itération en cours, et est également le nom de la variable de répétition. La variable de répétition est accessible par le chemin TAL: répétition/nom et a les propriétés suivantes:

https://www.owlfish.com/software/simpleTAL/tal-guide.html

<div tal:repeat="a nest_list_A"> 
<div tal:repeat="b a.nest_list_A"> 
<span tal:condition="b.nested_key1A"> 

un Devient l'affectation pour nest_list_A par exemple b devient l'affectation de a.nested_list_A qui va alors accéder à la clé

s'il y a une valeur pour la clé, alors tal: la condition continuera comme d'habitude, sinon elle passera pendant le rendu.