dpiz9879 2018-03-14 12:18
浏览 64

如何在Golang杜松子酒Web框架中使用Golang数据呈现HTML?

i am trying to place golang array( also slice,struct etc)to html so i can use array element in html Element content When returning html from golang gin web framework. Another problem is how to render these data with loop? such as flask jinjia works in this way.

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

1条回答 默认 最新

  • duanrang9348 2018-03-14 12:37
    关注

    Usually you have a folder with template files so first you need to tell the gin where these templates are located:

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

    Then in handler function you simply pass template name the data to HTML function like this:

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

    In index.tmpl you can the loop the data like this:

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

    The . is always the current context so in first line . is the input data and inside the range loop . is the current element.

    Template example: https://play.golang.org/p/4_IPwD3Y84D

    Documentation about templating: https://golang.org/pkg/text/template/

    Great examples: https://astaxie.gitbooks.io/build-web-application-with-golang/en/07.4.html

    评论

报告相同问题?

悬赏问题

  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教