7

在尝试做一些简单的事情时,我遇到了一个错误,比如包含一个扩展另一个模板的模板......我不确定这是一个不受支持的案例还是我做错了什么,因为它看起来很常见设想。

我设法编写的重现错误的最小代码是这样的:

测试.py

import tornado.template
loader = tornado.template.Loader(".")
templ = loader.load("t1.html")

t1.html

{% include "t2.html" %}

t2.html

{% extends "t3.html" %}

t3.html

{# empty #}

跑步时test.py我在龙卷风中得到NotImplementedError提升template.py

我错过了什么还是这是一个错误?

4

1 回答 1

5

啊,对不起,我太专注于缺少的块。

您所描述的内容不适用于 using {% include %},但适用于我 using {% module Template('t2.html', **args) %},这将在其自己的命名空间中呈现模板。模块设置由 自动完成tornado.web.Application,但不是使用示例中的最小模板加载器。

{% extends %}由于标签的实现方式,这种限制似乎存在。

于 2013-02-05T13:48:29.183 回答