如何在golang杜松子酒网页中使用golang数据呈现html?

时间:2018-03-14 12:18:17

标签: html go gin go-gin

我正在尝试将golang数组(也是slice,struct等)放到html中,所以我可以在html元素内容中使用数组元素从golang gin web框架返回html时。另一个问题是如何用循环渲染这些数据?如烧瓶金佳 以这种方式工作。

{% block body %}
  <ul>
  {% for user in users %}
  <li><a href="{{ user.url }}">{{ user.username }}</a></li>
  {% endfor %}
  </ul>

1 个答案:

答案 0 :(得分:2)

通常你有一个包含模板文件的文件夹,所以首先你需要告诉杜松子酒这些模板的位置:

router := gin.Default()
router.LoadHTMLGlob("templates/*")

然后在处理函数中,您只需将数据模板名称传递给HTML函数,如下所示:

func (s *Server) renderIndex(c *gin.Context) {
    c.HTML(http.StatusOK, "index.tmpl", []string{"a", "b", "c"})
}

index.tmpl中你可以像这样循环数据:

{{range .}}
    {{.}}
{{end}}

.始终是当前上下文,因此第一行.是输入数据,范围循环.内是当前元素。

模板示例:https://play.golang.org/p/4_IPwD3Y84D

有关模板的文档:https://golang.org/pkg/text/template/

很棒的例子:https://astaxie.gitbooks.io/build-web-application-with-golang/en/07.4.html