如何通过提供从template_path开始的路径从父模板扩展龙卷风模板?

时间:2014-10-11 09:54:50

标签: python templates tornado

我将template_path配置变量设置为我项目中的templates文件夹。

在此文件夹中,我有以下模板:

base.html
admin/register.html

我希望register.html扩展base.html所以我有:

{% extend "base.html" %}

这会导致以下错误:

IOError: [Errno 2] No such file or directory: '/home/kj/Lab/test/templates/admin/base.html'

显然它正在查看子模板的同一目录。 当然,我可以使用../base.html访问base.html,但我认为如果我能给它一个“绝对路径”(从template_path开始的意义上)会好得多

任何人都可以提供帮助吗?

1 个答案:

答案 0 :(得分:2)

render的工作方式,我认为不可能。将模板名称传递给渲染函数时,如:

RequestHandler.render('admin/register.html')

render将开始从template_path/admin目录中查找模板。 extends operator搜索admin目录中的模板,因此您必须提供相对路径。如果我发现更多,我会更新这个答案。

编辑:我已经确认目前无法做到这一点,并且已被Ben Darnell添加为feature request的Tornado问题跟踪器(他维护着Tornado项目)。