我尝试在argv中包含模板路径:
site_argv = {
'template' : 'site_list.html'
}
return self.base.render('site.html', **site_argv)
和site.html包含来自模板变量:
{% include template %}
但错误文件模板不是fount,没有包含值变量的路径
FileNotFoundError: [Errno 2] No such file or directory: '/.../template/template'
我试试
{% module Template(template, **kwargs) %}
但找不到kwargs变量
我想要包含子模板,当我不知道父模板的args时,使用所有父模板args。
答案 0 :(得分:0)
tornado模板系统基于代码生成,并要求所有include
和extend
指令都使用常量,因此代码可以生成一次。
通常,Tornado模板的语义与常规python代码类似。 module Template
指令就像调用另一个模板文件一样,就像常规的python函数一样,函数没有(干净的)方式来查看调用它的函数中定义的变量。
相反,您应该将参数作为单个对象传递。使用render
致电self.base.render('site.html', argv=site_argv)
,然后您可以使用{% module Template(template, **argv) %}