我想知道将任何数据发送到模板(html /模板包)的真实方法是什么?我的代码如下:
var templates = template.Must(template.ParseFiles(
path.Join(this.currentDirectory, "views/base.html"),
path.Join(this.currentDirectory, "views/main/test.html"),
))
templates.Execute(response, map[string]string{
"Variable": "Тест!",
})
那是模板:
{{define "content"}}
{{ .Variable }}
{{end}}
我会感激的!
答案 0 :(得分:5)
您的模板名称为"content"
,因此您需要专门执行该模板。
templates.ExecuteTemplate(os.Stdout, "content", map[string]string{
"Variable": "Тест!",
})
您可能无法解析您的想法。来自template.ParseFiles
文档(强调我的)
返回的模板名称将包含第一个文件的(基本)名称和(已解析)内容
尝试使用:
t, err := template.New("base").ParseFiles("base.html", "test.html")
if err != nil { ... }
t.Execute(response, variables)
here's a playground example如果有帮助的话。