Jinja2的多部分模板问题

2024-06-07 06:44:08 发布

您现在位置:Python中文网/ 问答频道 /正文

在创建模板时,我通常有3个独立的部分(页眉、正文、页脚),我将它们组合起来,将一个字符串传递给web服务器(在本例中是CherryPy)。在

我的第一个方法是。。。在

from jinja2 import Environment, FileSystemLoader
env  = Environment(loader=FileSystemLoader(''))

tmpl = env.get_template('Body.html')
page_body = tmpl.render()

tmpl = env.get_template('Header.html')
page_header = tmpl.render()

tmpl = env.get_template('Footer.html')
page_footer = tmpl.render()

page_code = page_header + page_body + page_footer

但这包含重复的代码,所以我的下一个方法是。。。在

^{pr2}$

然而,这意味着每个部分都是在自己的环境中创建的-这会是个问题吗?这种方法还有其他缺点吗?在

我选择了三部分方法而不是子模板方法,因为我认为它可能更灵活(更容易遵循),但我可能错了。有人想说服我使用页眉、正文和页脚块会更好吗?在

如有任何建议,将不胜感激。 艾伦


Tags: 方法env模板getenvironmenthtmlpagebody