Вы можете сначала определить шаблон "base_layout.kid":
<html xmlns:py="http://purl.org/kid/ns#">
<head>
<title>App Name - ${page_title}</title>
<link href="layout.css" type="text/css" rel="stylesheet" />
${page_specific_css()}
</head>
<body>
<h1>Now viewing: ${page_title} of App Name</h1>
<content>Default content</content>
<div class="footer">Page Footer Text</div>
</body>
</html>
Затем замените тег "content" в "page.kid" на любые данные, которые вы хотите:
<html py:layout="'base_layout.kid'"
xmlns:py="http://purl.org/kid/ns#">
<link py:def="page_specific_css()"
href="layout.css" type="text/css" rel="stylesheet" />
<div py:match="item.tag == 'content'">
<ul>
<li>Content Item 1</li>
<li>Content Item 2</li>
<li>Content Item 3</li>
</ul>
</div>
</html>
Вы можете проверить, получаете ли вы правильный HTML в оболочке Python (после удаления всех используемых идентификаторов):
>>> import kid
>>> t = kid.Template("page.kid")
>>> print t.serialize()