嵌套字典语法

时间:2017-07-26 07:16:22

标签: python html chameleon 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的正确语法是什么?对于tal:条件陈述?

1 个答案:

答案 0 :(得分:0)

在试图解决这个问题时,我找到了答案......

  

TAL:重复   语法:tal:repeat =“name expression”

     

描述:评估“表达式”,如果是序列,则对序列中的每个项重复此标记和所有子项。 “name”将设置为当前迭代中项目的值,也是重复变量的名称。可以使用TAL路径访问repeat变量:repeat / name并具有以下属性:

     

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">

a成为nest_list_A的赋值,例如 b成为a.nested_list_A的分配,然后将访问它们的密钥

如果键有值,则tal:condition将继续正常,否则在渲染时将跳过。