模板包含问题

beego框架,模板在 views/ 下

views/App/edit.html

{{template "header"}}
.....
{{template "footer"}}
<script>
        .....
</script>

views/header.html

{{define header}}    
<html>
    ......
<body>   //注:这里我把body 和 html 标签给分开了,结束标签在footer,当时这个不应该报下面那个错误才对
{{end}}

views/footer.html

{{define footer}}    
    ......
</body>
</html>    
{{end}}

this.TplNames = "App/edit.html"

报错:

template Execute err: html/template:edit.html:3: no such template "footer"

当然,如果去掉 {{template "footer"}},就会报 no such template "header"

后来我试着在同个文件里面把标签都正确关闭上,比如

<body>....</body>

但是,问题依旧在。 不知道哪里错了?

共 6 个回复


jimmykuu

试试

{{template "header.html"}}
...
{{template "footer.html"}}
# 0

captain

试过了,一样的错误,蛋疼

# 1

captain

我把 views/header.html 复制到 views/App/header.html 下,就可以了。这属于是golang tempalte的问题么?

# 2

sol

我也纠结这个问题,跨目录没法嵌入模板,蛋疼啊

# 3

sol

更新:beego已经支持了这种包含了 请升级到最新的版本

# 5