gpt4 book ai didi

python - Chameleon ZPT中包含Genshi布局

转载 作者:行者123 更新时间:2023-11-28 00:27:22 25 4
gpt4 key购买 nike

在 Genshi 中,您可以对布局进行包含(对我来说,这是确保所有 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"""

这在 Chameleon ZPT 中可能吗?顺便说一句,几周前我已经尝试过 Chameleon-genshi,但它对于生产来说仍然是错误的。

谢谢。

最佳答案

你可以尝试这样的事情:

layout.pt

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:tal="http://xml.zope.org/namespaces/tal"
metal:define-macro="layout">
<head>
<title>${page_title} :: My Website</title>
</head>
<body>
<div metal:define-slot="main_content">
Content
</div>
</body>
</html>

index.pt

<html metal:use-macro="layout.macros['layout']"
tal:define="page_title 'Title';">
<div metal:fill-slot="main_content">
<h2 tal:content="page_title">
Title
</h2>
</div>
</html>

给出:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Title :: My Website</title>
</head>
<body>
<div>
<h2>Title</h2>
</div>

</body>

我刚开始使用 Chameleon ZPT,所以如果有人能指出我示例中的任何缺陷,我将不胜感激 :)

关于python - Chameleon ZPT中包含Genshi布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4824556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com