Обе переменные должны называться person для использования в этом примере, или это просто случайно?
Нет, это просто случайно.
На что ссылается «человек» и на что ссылается «человек»?
Во-первых, {}
- это объект словаря, который является терминологией python для ассоциативного массива или хеша.Это в основном массив с (почти) произвольными ключами.
Итак, в вашем примере 'person'
будет ключом, person
значением.
Когда этот словарь будет передан в шаблон, вы можете получить доступ к своему real * 1019.* объекты (здесь, человек, имя, возраст и т. д.), используя ключ, который вы выбрали ранее.
В качестве альтернативного примера:
# we just use another key here (x)
c = Context({'x': person})
# this would yield the same results as the original example
t = Template('{{ x.name }} is {{ x.age }} years old.')