Gin html模板引用

提取公共部分

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文件的路径和后缀名都必须加上,跟引用公共模板正好相反。

猜你喜欢

转载自blog.csdn.net/a976134036/article/details/78867297
今日推荐