我可以指定不同的';扩展';使用Jinja 2时Python中的基本模板?
我使用Jinja作为脚本中的独立库,这样我就可以编写多个版本的网站,一个使用base_a.html,另一个使用base_b.html、base_c.html等等 但是,文件中使用的我可以指定不同的';扩展';使用Jinja 2时Python中的基本模板?,python,jinja2,Python,Jinja2,我使用Jinja作为脚本中的独立库,这样我就可以编写多个版本的网站,一个使用base_a.html,另一个使用base_b.html、base_c.html等等 但是,文件中使用的扩展关键字要求在每个子模板中指定基本模板名称 有没有一种方法可以在Python中指定基本模板名称,比如 t.render(extends=“base\u a.html”) 例如?好的,下面是一种方法 将以下内容用作子模板中的扩展标记 {% extends base_template %} 然后使用以下命令: fro
扩展
关键字要求在每个子模板中指定基本模板名称
有没有一种方法可以在Python中指定基本模板名称,比如
t.render(extends=“base\u a.html”)
例如?好的,下面是一种方法 将以下内容用作子模板中的
扩展
标记
{% 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")
是的!这正是我所做的,除了我将
{%extends template%}
包装在{%if template%}
和{%endif%}
中,因为它将在没有有效参数的情况下死亡。