使用Jinja 2时,我可以在Python中指定不同的“扩展”基本模板吗?

时间:2012-11-20 17:41:13

标签: python jinja2

我在一个脚本中使用Jinja作为一个独立的库,这样我就可以编写一个网站的多个版本,一个使用base_a.html,另一个使用base_b.html,base_c.html等等。

然而,文件中使用的extends关键字要求在每个子重构中指定基本模板名称。

有没有办法在Python中指定基本模板名称,比如

t.render(extends="base_a.html")

例如?

1 个答案:

答案 0 :(得分:0)

好的,这是一种方法,

将以下内容用作子模板中的extends标记

 {% extends base_template %}

然后使用以下内容,

from jinja2 import Environment, Template, FileSystemLoader
env = Environment(loader = FileSystemLoader(["../templatedir"])
t = env.get_template("child.html")
print t.render(base_template="parent_template.html")