gpt4 book ai didi

Python Pyramid - 添加多个变色龙基础模板

转载 作者:太空宇宙 更新时间:2023-11-03 11:10:08 25 4
gpt4 key购买 nike

我正在使用 this使用其他模板可以派生的基本模板的过程。

如何创建多个基本模板?

最佳答案

只需注册它们:

from pyramid.renderers import get_renderer

def add_base_template(event):
base = get_renderer('templates/base.pt').implementation()
base2 = get_renderer('templates/base2.pt').implementation()
event.update({'base': base, 'base2': base2})

然后为每个页面选择要在模板中使用的内容:

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
metal:use-macro="base">
<tal:block metal:fill-slot="content">
My awesome content.
</tal:block>
</html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
metal:use-macro="base2">
<tal:block metal:fill-slot="content">
Content on a totally different page.
</tal:block>

我认为模板不必是整个 HTML 元素,因此您可以将 2 个宏扩展到同一个最终模板中

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal">
<body>
<div metal:use-macro="section1">
<tal:block metal:fill-slot="content">
Content for template "section1".
</tal:block>
</div>
<div metal:use-macro="section2">
<tal:block metal:fill-slot="content">
Content for template "section2".
</tal:block>
</div>
</body>

关于Python Pyramid - 添加多个变色龙基础模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6623420/

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