我有一个基本模板base.html
和一个派生模板page2.html
,如下所示:
{# page2.html#}
{% extends "base.html" %}
{# end #}
我可以使用以下工具渲染模板:
jinjaEnv = Environment()
jinjaEnv.loader = FileSystemLoader('.')
@app.route('/page2')
def page2():
page2Tem = jinjaEnv.get_template("page2.html")
h = page2Tem.render()
return h
这个很好用。但当我尝试时:
nfpTem = Template("""\
{% extends "base.html" %}
stuff
""")
@app.route('/newfrontpage')
def frontPage():
h = nfpTem.render()
return h
我得到一个错误:
TypeError: no loader for this environment specified
如何在Python源代码中放置模板并使用继承,或者这是不可能的?你知道吗
代码的问题是jinja试图使用加载程序在模板上的
'base.html'
这里{% extends "base.html" %}
查找。如果您想让它工作,您需要实例化一个加载程序,如果您想在python脚本上嵌入数据,一个简单的加载程序是DictLoader
,如本例所示:相关问题 更多 >
编程相关推荐