我有一个函数可以从数据库中检索一堆Tweets(类型为Tweet)并将它们传递给模板。在模板中,我必须遍历数组并打印从db检索到的每条推文的message
字段。下面的模板根本不显示任何内容。
如何指示我正在循环遍历Tweet类型的数组,然后为每个类型打印消息?
func Root(w http.ResponseWriter, r *http.Request) {
tweets := []*Tweet{}
t := template.Must(template.New("main").ParseFiles("main.html"))
err := Orm.Find(&tweets)
if err != nil {
fmt.Println("err", err)
return
}
t.ExecuteTemplate(w, "main.html", tweets)
}
main.html中
{{range .Tweet}}
status: {{.message}}
{{end}}
答案 0 :(得分:4)
这里有两个错误。
.Tweet
来自哪里?您提供了模板引擎推文,[] *推文作为输入,因此.
是一个切片,没有Tweet
字段或密钥。
.message
未导出,只有导出的字段可用于模板。
最终结果:
{{range .}}
status: {{.Message}}
{{end}}
请记住修改您的推文类型以使用新的字段名称。