在 Genshi 中,您可以对布局进行 include(对我来说,这是确保所有 500 个内容模板都具有相同布局的唯一方法)-
"""layout.xml"""
<py:match path="head" once="true">
<head py:attrs="select('@*')">
<title>Myapp</title>
</head>
</py:match>
<py:match path="body" once="true">
<body py:attrs="select('@*')">
<div class="main_content">
<div py:strip="True">${select('*|text()')}</div>
</div>
</body>
</py:match>
"""layout.xml"""
"""index.xml"""
<html xmlns:py="http://genshi.edgewall.org/" xmlns:xi="http://
www.w3.org/2001/XInclude">
<xi:include href="layout.xml" parse="xml"/>
<head />
<body>
<h3>index</h3>
</body>
</html>
"""index.xml"""
"""rendered index.html"""
<html>
<head>
<title>Myapp</title>
</head>
<body>
<div class="main_content">
<h3>index</h3>
</div>
</body>
</html>
"""rendered index.html"""
这在变色龙 ZPT 中可能吗?顺便说一句,几周前我尝试过 Chameleon-genshi,但它对于生产来说仍然太麻烦了。
谢谢。