首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在golang gin web框架中呈现带有golang数据的HTML?

如何在golang gin web框架中呈现带有golang数据的HTML?
EN

Stack Overflow用户
提问于 2018-03-14 20:18:17
回答 1查看 6.4K关注 0票数 3

我正在尝试放置一个golang数组(也是切片、结构等)。转换为HTML,这样当从golang gin web框架返回HTML时,我可以在HTML元素内容中使用数组元素。另一个问题是如何用循环来呈现这些数据?比如Flask jinja就是这样工作的。

代码语言:javascript
运行
复制
{% block body %}
  <ul>
  {% for user in users %}
  <li><a href="{{ user.url }}">{{ user.username }}</a></li>
  {% endfor %}
  </ul>
EN

回答 1

Stack Overflow用户

发布于 2018-03-14 20:37:03

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

代码语言:javascript
运行
复制
router := gin.Default()
router.LoadHTMLGlob("templates/*")

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

代码语言:javascript
运行
复制
func (s *Server) renderIndex(c *gin.Context) {
    c.HTML(http.StatusOK, "index.tmpl", []string{"a", "b", "c"})
}

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

代码语言:javascript
运行
复制
{{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

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49277604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档