Gin html模板引用
阿新 • • 發佈:2019-02-09
提取公共部分
1.header.html
{{define "header"}}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<span>ddddd</span>
{{end}}
2.footer.html
{{define "footer"}}
<span >end</span>
</body>
</html>
{{end}}
注意:define部分只寫檔案的名字,不加路徑和字尾名
使用不同路徑下但相同檔名的模板
func main() {
router := gin.Default()
router.LoadHTMLGlob("views/**/*")
router.GET("/main/newlist", func(c *gin.Context) {
c.HTML(http.StatusOK, "main/newlist.html",gin.H{
"title" : "Posts",
})
})
router.GET("/users/index", func(c *gin.Context) {
c.HTML(http.StatusOK, "users/index.tmpl",gin.H{
"title": "Users",
})
})
router.Run(":8080")
}
其上程式碼分別引用了views資料夾下的posts資料夾和users資料夾。在HTML檔案中的寫發如下:
{{define "main/newlist.html"}}{{template "header" .}}
<div>middle</div>
{{template "footer" }}{{end}}
注意:在define中HTML檔案的路徑和字尾名都必須加上,跟引用公共模板正好相反。