如何遍历 Go 模板中的列表

我有一个函数可以从数据库中检索一堆推文(推文类型)并将它们传递给模板。在模板中,我必须遍历数组并打印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)

    }

主文件


 {{range .Tweet}}  

      status: {{.message}}

 {{end}}


白衣非少年
浏览 406回答 1
1回答

守着一只汪

你在这里有两个错误。哪里.Tweet来的呢?你给了模板引擎推文,一个 []*Tweet 作为输入,所以.是一个切片,没有Tweet字段或键。.message 不导出,模板中只能使用导出的字段。最终结果:{{range .}}    status: {{.Message}}{{end}}请记住修改您的推文类型以使用新的字段名称。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go