Обращение к чему-то в стеке контекста Mustache - PullRequest
0 голосов
/ 06 мая 2020

Я написал довольно длинный шаблон «Усы» и в конечном итоге повторно использовал в нем множество имен. Теперь мне нужно получить доступ к элементу, имя которого уже существует на том же уровне контекстного стека.

Учитывая следующий шаблон и данные Mustache:

context = {
    'id'      : '1234',
    'name'    : 'User Group',
    'group_id': '1234',
    'users': [
        {'id'  : 'abcd', 'name': 'Alice'},
        {'id'  : 'xyz', 'name': 'Bob'}
        ]
    }

template = '''
Group {{name}} ID is {{id}}
{{#users}}
User {{name}} ID is {{id}} and belongs to group ID {{group_id}}
{{/users}}
'''

print(pystache.render(template, context))

Он отображает:

Group User Group ID is 1234
User Alice ID is abcd and belongs to group ID 1234
User Bob ID is xyz and belongs to group ID 1234

Чтобы избавиться от элемента group_id, я назвал весь контекст:

context = {'group': {
    'id'      : '1234',
    'name'    : 'User Group',
    'users': [
        {'id'  : 'abcd','name': 'Alice'},
        {'id'  : 'xyz', 'name': 'Bob'}
        ]
    }
}

template = '''
{{#group}}
Group {{name}} ID is {{id}}
{{#users}}
User {{name}} ID is {{id}} and belongs to group ID {{group.id}}
{{/users}}
{{/group}}
'''

Есть ли лучший способ сделать это?

Спасибо !!

...